在.net中从文件名写入和读取日期的最简单方法

时间:2009-04-08 06:37:20

标签: .net

由于文件名提供的限制,将日期时间写入文件名然后将其读回到.net中的日期时间的最简单方法是什么?

2 个答案:

答案 0 :(得分:2)

简单地说:

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

(显然与文件名的其余部分结合......根据需要增加更多精度 - 小时,分钟等)

答案 1 :(得分:2)

编辑:不幸的是原始格式使用冒号,不能在Windows文件名中使用冒号。这是一个真正的耻辱,因为它是理想的。在那种情况下,我会去:

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

(如果需要,可用毫秒)。我不知道任何文化是否对这些领域使用任何异常。这将是非常令人惊讶的,但你应该使用CultureInfo.InvariantCulture来确定。

我喜欢在那里使用破折号 - 当你查看文件列表时,它更容易解析。

编辑:原始答案

我建议您使用's'标准格式字符串给出的可排序日期/时间格式模式,例如:

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

打印的内容如下:

 2009-04-08T06:45:43

人们很容易解析,计算机很容易解析,不依赖于文化,并且可以适当地进行排序。