日期格式未显示

时间:2017-01-27 09:20:04

标签: vb.net

我已经提到了以yyyy-MM-dd格式提供的日期解决方案。在提供格式后,我将以默认格式获取日期。请帮忙。

代码:

Dim returndate As String
 returndate = DateTime.Now.ToString("yyyy-MM-dd")
 Dim oDate As DateTime = DateTime.ParseExact(returndate, "yyyy-MM-dd", CultureInfo.InvariantCulture)

1 个答案:

答案 0 :(得分:0)

目前我猜测oDate的输出是27/01/2017 00:00:00

你想要做的是:

Dim returndate As String = DateTime.Now.ToString("dd/MM/yyyy")
Dim oDate As DateTime = DateTime.ParseExact(returndate, "dd/MM/yyyy", CultureInfo.InvariantCulture)
Debug.Print(oDate.ToString("yyyy-MM-dd"))

returndate发送到DateTime.ParseExact,格式为" dd / MM / yyyy"然后将oDate格式化为所需的输出,在您的情况下" yyyy-MM-dd"。

这是代码和输出的屏幕截图:

enter image description here

日期本身没有格式。传递给ParseExact的格式是第一个参数所需的格式,在您的情况returndate中。它不是输出格式。查看DateTime.ParseExact文档:

  

格式

     

格式说明符,用于定义s的所需格式。有关更多信息,请参阅“备注”部分。

查看备注部分:

  

DateTime.ParseExact(String,String,IFormatProvider,DateTimeStyles)方法解析日期的字符串表示形式,该日期必须采用format参数定义的格式。它还要求s中的日期和时间元素按格式指定的顺序出现。如果s与format参数的模式不匹配,并且style参数定义了任何变体,则该方法抛出FormatException。