2011-03-01 162 views
5

net 4和c#。轉換日期時間格式

我有一個文本框DateTimeValue

3/1/2011 12:00:00 AM 

我需要將其轉換這種格式的字符串:

Format="yyyy-MM-dd" 

任何想法,該怎麼辦呢? PS:我可以刪除了時間

感謝您的時間

回答

7

使用DateTime.ParseExact像這樣:

DateTime.ParseExact("3/1/2011 12:00:00 AM", "G", 
      CultureInfo.GetCultureInfo("en-US")).ToString("yyyy-MM-dd"); 

確保指定的文化,這是因爲你使用的格式不明確。

+0

+1:爲文化信息 – 2011-03-01 09:02:33

2

這是什麼原因你要求的信息?

DateTime.Parse("3/1/2011 12:00:00 AM").ToString("yyyy-MM-dd") 
+0

-1:文化信息丟失! – 2011-03-01 08:57:03

+0

夠公平的...... – 2011-03-01 08:57:14

+0

看到我的評論。這是危險的代碼,因爲它取決於用戶的本地設置。大多數其他答案都有同樣的問題,但是你們被選爲唯一的答案,所以我只是低估了你們的答案。 – 2011-03-01 08:58:21

0

試試這個

Convert.ToDateTime(Text1.Text)的ToString( 「YYYY-MM-DD」)

+1

那麼,dt和ds是什麼? – balexandre 2011-03-01 08:53:23

+0

不好:文化信息丟失! – 2011-03-01 09:00:31

0

related question。請記住,計算機的區域設置會影響字符串的解釋方式。與我的地區(丹麥語),您的日期格式不會使用DateTime.Parse翻譯。

+0

這是另一種方式... – 2011-03-01 08:55:21

1

不要忘記包含命名空間:System.Globalization以訪問CultureInfo。

例如:using System.Globalization; // for CultureInfo

0

串DT = DateTime.Now.Year.ToString()+ 「 - 」 + DateTime.Now.Month.ToString()+ 「 - 」 + DateTime.Now.Day.ToString( );