如何从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.