2009-09-11 36 views
11

我有一個ASP.Net頁的代碼隱藏文件,下面的代碼C#的DateTime的ToString( 「MM-DD-YYYY」)返回有趣的日期值

txtStartDate.Text = DateTime.Today.ToString("MM-dd-yyyy"); 

哪個我希望返回「09-11 -2009" 。但是,當我在開發服務器上運行頁面時,我在文本框中看到「09-00-2009」。我看不出任何理由,所以我顯然錯過了一些東西。任何人都有線索?

+0

同樣的事情,工作正常,我。也許你的系統時鐘搞砸了? – ryber 2009-09-11 14:56:36

+0

使用ToString(「MM-ddd-yyyy」)檢查它;和ToString(「MM-dddd-yyyy」);並看看你得到了什麼...如果你看到沒有改變,那麼年齡格式字符串沒有得到返回的頁面......如果你看到09年一月-2009和09年一月一號,那麼你的電腦時鐘是off – 2009-09-11 15:03:26

回答

7

format string應該按預期工作。我會檢查你的文本框,以確保你沒有某種掩碼(AJAX MaskedEditExtender?)。如果你這樣做了,並且可能掩碼不正確,它可能會覆蓋你在文本框中的內容。

+0

它上面有AJAX CalendarExtender,但兩者的格式字符串是相同的。 – 2009-09-11 15:14:28

+0

就是這樣 - 我在複製擴展器的格式字符串時發生錯誤。 – 2009-09-11 15:18:02

14

我想不出爲什麼它會顯示00,但作爲一個隨機建議你可以嘗試:

... = DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture); 
0

你可以檢查日期時間,Now.ToString()?

+0

是的,我檢查了 - 同樣的結果。 – 2009-09-11 15:15:41

4

嘗試這樣:

DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.CreateSpecificCulture("en-US")) 
+0

感謝您的提示。 – 2017-03-05 22:15:29

0

使用。現在獲取本地時間

txtStartDate.Text = DateTime.Now.ToString("MM-dd-yyyy"); 
相關問題