.Net DateTime中的毫秒格式

本文关键字:格式 DateTime Net | 更新日期: 2023-09-27 18:26:14

我正在格式化DateTime以用于XML,并且正在使用ISO 8601格式化程序"o"。我注意到这会产生以下结果:

2015-10-21T05:06:25.3800000-05:00

其他软件的类似输出似乎只包括毫秒部分的3个位置,例如:

2015-10-21T05:06:25.380-05:00

除了在文件中占据更多的空间外,在文件中添加额外的零还有什么问题吗?是否有一些选项可以在不使用自定义格式化程序的情况下在.Net中使用较短的版本进行格式化?我更喜欢使用"o"格式选项,这样它是否兼容就很容易了。

.Net DateTime中的毫秒格式

如果您对准确的日期/时间很认真,可以考虑使用NodaTime。

如果你担心空间问题,那么考虑一下你自己的格式化程序,但考虑一下当前方法的简单性(它的作用与"o"相同)。什么值得你花时间、编程的简易性(考虑以下内容)或磁盘空间?

XElement xdate = new XElement("date", DateTime.Now);
DateTime dnow = (DateTime)xdate;

你会注意到,输出看起来像"o",但不同(我的输出是-07:00),因为我在不同的时区。

<date>2015-12-09T15:34:02.0177724-07:00</date>