我已经提到了以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)
答案 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"。
这是代码和输出的屏幕截图:
日期本身没有格式。传递给ParseExact
的格式是第一个参数所需的格式,在您的情况returndate
中。它不是输出格式。查看DateTime.ParseExact文档:
格式
格式说明符,用于定义s的所需格式。有关更多信息,请参阅“备注”部分。
查看备注部分:
DateTime.ParseExact(String,String,IFormatProvider,DateTimeStyles)方法解析日期的字符串表示形式,该日期必须采用format参数定义的格式。它还要求s中的日期和时间元素按格式指定的顺序出现。如果s与format参数的模式不匹配,并且style参数定义了任何变体,则该方法抛出FormatException。