vb.net中的日期格式

时间:2011-12-27 12:02:01

标签: asp.net vb.net date

我使用以下函数将String变量转换为Date。从中减去一天并将日期转换回String。代码如下

Dim edate As String
Dim expenddt As Date

edate = txtenddt.Text
expenddt = Date.ParseExact(edate, "dd/MM/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
expenddt = expenddt.AddDays(-1)

Dim asd As String = expenddt.ToString

如果edate的值 29/12/2011 ,则expenddt中的值会更改为其他格式,而expenddt中的值会变为 12/29/2011 以及之后减去一天expenddt 12/28/2011 ,而且当我将其转换回字符串时,我获得了值在asd“12/28/2012 12:00:00 AM”

我已将系统上的日期格式更改为控制面板中的区域和语言选项中的d/M/yyyy,但我仍然在expenddt

中获得了不同的格式

任何人都可以解释为什么会这样吗?如何保持日期的格式为dd / mm / yyyy,例如29/12/2011及之后 减去一天它应该 28/12/2011 而不是 12/29/2011

2 个答案:

答案 0 :(得分:2)

使用Date.ToString()将日期转换为dd/MM/yyyy格式的字符串。

Dim asd As String = expenddt.ToString("dd/MM/yyyy")

答案 1 :(得分:0)

试试这个:

Dim dateString As String = "Mon 16 Jun 8:30 AM 2008"
Dim format As String = "ddd dd MMM h:mm tt yyyy"
Dim dateTime__1 As DateTime = DateTime.ParseExact(dateString, format, CultureInfo.InvariantCulture)

希望这可能有帮助......