我正在使用以下函數將字符串變量轉換爲日期。從中減去一天並將日期轉換回字符串。代碼去如下vb.net中的日期格式
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
爲「2012年12月28日12:00:00 AM」
獲得的價值我改變了日期格式到d/M/yyyy
控制面板中的區域和語言選項,但我仍然得到不同的格式expenddt
任何人都可以解釋爲什麼發生這種情況?我怎樣才能保持29/12/2011和 一天後減去在DD/MM/YYYY如日期的格式應該保持28/12/2011,而不是12/29/2011
我無法解釋爲什麼(它應該使用通過控制面板設置的格式),但爲什麼不在調用ToString時指定格式? – andygjp 2011-12-27 12:13:15
@andygjp。我從來沒有想過,謝謝你。其實即時通訊新的VB,我知道我們如何在C#中做到這一點。請你告訴我如何指定一種格式?是.ToString(「dd/mm/yyyy」)? – Ishan 2011-12-27 12:21:46
@andygjp這實際上解決了我的問題。 – Ishan 2011-12-27 12:35:49