从字符串转换为日期的日期格式是什么

时间:2019-04-30 19:56:53

标签: vb.net

我有以下代码来获取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)

2 个答案:

答案 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