2009-04-08 57 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 

这对于人类来说很容易解析,便于计算机解析,独立于文化和适当排序年。

相关问题