繁体   English   中英

vb.net中的日期格式问题

[英]Date format issue in vb.net

我正在尝试从文本框中解析日期并将其存储在日期变量中

Dim enddt_2 As Date = Date.ParseExact(txtenddt.Text, "dd/MM/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)  'txtenddt.Text
expenddt_1 = enddt_2.AddDays(-1)
enddt = enddt_2.ToString("dd/MM/yyyy")

enddt是一个Date变量,当我将enddt_2转换为字符串时,出现如下错误

Conversion from string "17/01/2012" to type 'Date' is not valid.

让我澄清一下,如果在文本框的值是17/01/2012比分析值后更改为2012年1月17日我的系统区域和语言是DD / MM / YYYY)enddt_2 ,当我尝试转换到dd / MM / yyyy格式并将其存储到日期变量中,但出现上述错误。 此错误仅适用于12以后的日期,即date变量接受MM / dd / yyyy格式的日期。12之前的日期可以正常工作,即,对于1到12的所有日期都没有错误。

我如何使enddt以dd / mm / yyyy格式存储日期。

enddtDate变量,您不能在其中分配字符串值,也不要更改您的区域设置,甚至日期/时间格式。

如果要存储字符串日期,请更改enddt类型。

 Dim enddt as String = enddt_2.ToString("dd/MM/yyyy")

你有尝试过吗?

Dim enddt_2 As Date = DateTime.ParseExact("17/01/2012", "dd/MM/yyyy", _
                      System.Globalization.CultureInfo.InvariantCulture)
Dim newD As Date = enddt_2.AddDays(-1)

Dim xStr As String = "Original Date: " & enddt_2.ToString("dd/MM/yyyy") & vbCrLf
xStr &= "FormatedOriginalDate: " & enddt_2.ToString("MM/dd/yyyy") & vbCrLf
xStr &= "NewDate: " & newD.ToString("MM/dd/yyyy")
Console.Writeline(xStr)

输出:

Original Date:         17/01/2012
FormatedOriginalDate:  01/17/2012
NewDate:               01/16/2012

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM