如何从VB6中的日期时间中删除时间
How to remove time from date time in VB6
我目前正在使用 VB6,我的日期值是这样的:
2022-02-26T12:06:10+02:00
我也关注了这个url
但不起作用,尤其是最后一个仍然显示日期为
2022-02-26T12:06:10+02:00
这是我的代码
Dim tdate As String
tdate = format$("2022-02-26T12:06:10+02:00" , "m/d/yyyy")
输出仍然是2022-02-26T12:06:10+02:00
您输入的是 ISO8601 格式的字符串。由于它是一个固定格式的字符串,最简单的方法就是砍掉前 10 个字符。
isoDateTimeString = "2022-02-26T12:06:10+02:00"
要将日期部分作为另一个字符串获取:
Dim dateAsString As String
dateAsString = Left$(isoDateTimeString, 10)
'// for 2022-02-26
或者将其作为日期类型获取:
Dim dateAsDateType As Date
dateAsDateType = CDate(Left$(isoDateTimeString, 10))
'// for 26/02/2022 (or whatever your locale format is)
在 VB6 中,我总是发现处理 time/date 值的最简单方法是将它们转换为 Double(只需将变量声明为 Double 类型,然后分配值来自任何来源)。然后,只需处理整数部分(天)或小数部分(小数天)。例如,秒只是 TimeStamp/86400.0 等。当变量声明为 Date 时,它实际上存储为 Double,所以我只是将其用作我的基本 TimeStamp 类型。 VB 在打印时将 re-formatting 转换为 time/date 字符串非常好,它使 time-based 计算真正 straight-forward.
我目前正在使用 VB6,我的日期值是这样的:
2022-02-26T12:06:10+02:00
我也关注了这个url
但不起作用,尤其是最后一个仍然显示日期为
2022-02-26T12:06:10+02:00
这是我的代码
Dim tdate As String
tdate = format$("2022-02-26T12:06:10+02:00" , "m/d/yyyy")
输出仍然是2022-02-26T12:06:10+02:00
您输入的是 ISO8601 格式的字符串。由于它是一个固定格式的字符串,最简单的方法就是砍掉前 10 个字符。
isoDateTimeString = "2022-02-26T12:06:10+02:00"
要将日期部分作为另一个字符串获取:
Dim dateAsString As String
dateAsString = Left$(isoDateTimeString, 10)
'// for 2022-02-26
或者将其作为日期类型获取:
Dim dateAsDateType As Date
dateAsDateType = CDate(Left$(isoDateTimeString, 10))
'// for 26/02/2022 (or whatever your locale format is)
在 VB6 中,我总是发现处理 time/date 值的最简单方法是将它们转换为 Double(只需将变量声明为 Double 类型,然后分配值来自任何来源)。然后,只需处理整数部分(天)或小数部分(小数天)。例如,秒只是 TimeStamp/86400.0 等。当变量声明为 Date 时,它实际上存储为 Double,所以我只是将其用作我的基本 TimeStamp 类型。 VB 在打印时将 re-formatting 转换为 time/date 字符串非常好,它使 time-based 计算真正 straight-forward.