2009-04-08 58 views

回答

2

怎麼樣簡單:

DateTime original = DateTime.Today; 
string s = original.ToString("yyyyMMdd", CultureInfo.InvariantCulture); 
DateTime dt = DateTime.ParseExact(s, "yyyyMMdd", CultureInfo.InvariantCulture); 

(很明顯,文件名的其餘部分相結合......根據需要添加更多的精度 - 小時,分鐘,等)

+0

或者使用Ticks獲得更高的精度 – 2009-04-08 06:43:33

+0

我不知道你能做到這一點。謝謝 – jimconstable 2009-04-08 06:50:54

2

編輯:不幸的是,原來的格式使用冒號,不能用於Windows文件名。這是一個真正的恥辱,因爲它是理想的。在這種情況下,我會去:

yyyy-MM-dd`T`HH-mm-ss 

(毫秒如果你需要它們)。我不知道任何文化使用任何這些領域的任何不尋常的東西。這將是相當令人驚訝的,但你應該使用CultureInfo.InvariantCulture只是爲了確保。

我喜歡在那裏有破折號 - 它可以讓你在查看文件列表時更容易解析。

編輯:原來的答覆

我建議你用用的「標準格式字符串給出的排序的日期/時間格式模式,例如:

Console.WriteLine(DateTime.UtcNow.ToString("s")); 

它打印類似:

2009-04-08T06:45:43 

這對於人類來說很容易解析,便於計算機解析,獨立於文化和適當排序年。

相關問題