我有以下代码来获取StringToDate作为04/29/2019,但是当使用CDate函数时,它给了我#4/29/2019 12:00:00 AM#值。我必须使用哪种日期格式才能获得04/29/2019
Dim StringToDate As Date
Dim strNewDate As String = "04/29/2019"
StringToDate = CDate(strNewDate)
答案 0 :(得分:0)
您可以使用DateTime.TryParse
Dim MyDate As DateTime = Nothing
Dim strNewDate As String = "04/29/2019"
DateTime.TryParse(strNewDate, MyDate)
编辑(误读了您的问题)- DateTime保存值,而不保存String。要在解析日期后得到您要的内容,您需要使用格式方法将其转换回字符串或使用以下命令:
MyDate.ToShortDateString
答案 1 :(得分:0)
日期的表示方式取决于操作系统的区域设置。
例如,如果要在“控制面板”中打开区域设置,则会发现“短日期”的格式,根据您的描述,该格式可能为'0'
。在下拉菜单中可以设置其他格式,如果将其设置为M/d/yyyy
,您会看到相同的代码现在将显示MM/dd/yyyy
。 但是不要这样做,因为它只会影响您的计算机。相反,请理解日期只是数字,您可以控制日期的显示方式,就像Windows在我的示例中所做的一样。一个完美的例子是您可以通过许多不同的方式设置04/29/2019
变量。这里有一些:
DateTime
结果应该是
Dim dt1 As DateTime = #2019-12-14#
Dim dt2 As DateTime = #1/08/2019#
Dim dt3 As DateTime = #03/03/2019#
Dim dt4 As DateTime = #4/4/2019#
12/14/2019 12:00:00 AM
1/8/2019 12:00:00 AM
3/3/2019 12:00:00 AM
因为这样可以设置窗口,以向我显示4/4/2019 12:00:00 AM
作为字符串。
当您想以其他格式向用户显示此日期时,您可以简单地向.ToString()方法提供一种格式,或使用DateTime
字符串转换方法之一(即{{1} },DateTime
等),您可以以更可取的格式向用户显示日期。
以您可以使用的最后一个示例(dt4)
.ToShortDateString