Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 要从字符串转换为日期的日期格式是什么_Vb.net - Fatal编程技术网

Vb.net 要从字符串转换为日期的日期格式是什么

Vb.net 要从字符串转换为日期的日期格式是什么,vb.net,Vb.net,我有以下代码将StringToDate设置为2019年4月29日,但当使用CDate函数时,它将为我提供2019年4月29日12:00:00 AM的值。我必须使用哪种日期格式才能获得2019年4月29日 Dim StringToDate As Date Dim strNewDate As String = "04/29/2019" StringToDate = CDate(strNewDate) 你可以使用DateTime.TryParse Dim MyDate

我有以下代码将StringToDate设置为2019年4月29日,但当使用CDate函数时,它将为我提供2019年4月29日12:00:00 AM的值。我必须使用哪种日期格式才能获得2019年4月29日

    Dim StringToDate As Date
    Dim strNewDate As String = "04/29/2019"
    StringToDate = CDate(strNewDate)

你可以使用DateTime.TryParse

    Dim MyDate As DateTime = Nothing
    Dim strNewDate As String = "04/29/2019"
    DateTime.TryParse(strNewDate, MyDate)
编辑误读你的问题- 日期时间保存值而不是字符串。要在解析日期后获得所需内容,需要使用format方法将其转换回字符串,或使用以下方法:

MyDate.ToShortDateString

日期的表示方式取决于操作系统的区域设置设置。 例如,如果您要在“控制面板”中打开“区域设置”,您会发现短日期的格式,您描述的可能是M/d/yyyy。下拉列表中还有其他可以设置的格式,如果将其设置为MM/dd/yyyy,您将看到相同的代码现在显示为2019年4月29日。但不要这样做,因为这只会影响你的机器。相反,请理解日期只是一个数字,您可以控制它的显示方式,就像Windows刚才在我的示例中所做的那样。一个完美的例子是,您可以用多种不同的方式设置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#
结果将是

2019年12月14日12:00:00上午 2019年1月8日12:00:00上午 2019年3月3日上午12:00:00 2019年4月4日上午12:00:00 因为这就是windows设置为以字符串形式显示日期时间的方式

当您希望以不同的格式向用户显示此日期时,只需向.ToString方法提供一种格式,或使用其中一种日期时间字符串转换方法,即,.ToSortDateString、.ToLongDateString等,您就可以以更可取的格式向用户显示日期

以最后一个示例dt4为例,您可以使用

Console.WriteLine(dt4.ToShortDateString) 'and show 4/4/2019
Console.WriteLine(dt4.ToLongDateString) 'and show Thursday, April 4, 2019
Console.WriteLine(dt4.ToString("MM/dd/yyyy")) 'and show 04/04/2019

您可以使用.ToString方法显示日期,也可以使用Console.WriteLineStringToDate.ToString gmm/dd/yyyySee,这样您就可以指定确切的格式和区域性。A没有格式。这只是一个数字。当您向用户显示它时,您必须将其转换为字符串,并且您可以指定要使用的格式。仍然相同,我得到2019年4月29日12:00:00 am抱歉,我误解了您的问题!DateTime类型只保存一个值,而不是一个字符串。要获取所需内容,需要将日期转换回允许格式化的字符串。IE MyDate.ToShortDateString