【发布时间】:2015-09-08 21:46:42
【问题描述】:
我在解析时间跨度时遇到问题,我有一个数据集的开始时间和结束时间,并且该步骤的格式类似于 0000-00-00.01:00:00,因此在这种情况下,它们之间只有一个小时。但可能需要几天等,所以它必须保持一些支持。
问题是这样的一行
const string TimeSpanFormat = @"yyyy-MM-dd\.hh\:mm\:ss";
TimeSpan.ParseExact(StepToConvert, TimeSpanFormat, CultureInfo.InvariantCulture)
或者像这样
DateTime.ParseExact(StepToConvert, TimeSpanFormat, CultureInfo.InvariantCulture).TimeOfDay
同时返回错误
附加信息:日历 System.Globalization.GregorianCalendar 不支持字符串表示的 DateTime。
所以我有点不知所措,除了制作一个辅助类/结构。
顺便说一句,在 2013-01-01.00:00:00 之类的时间上工作正常。
社区中有什么好的想法吗?
【问题讨论】:
-
这是 DateTime 的最小值:
0001-01-01 00:00:00。看看你的约会对象。 -
这听起来像是一个愚蠢的问题,但
SpanToConvert的类型是什么? -
@Thomas: 好像就是第一句提到的那个字符串:
0000-00-00.01:00:00 -
为什么不从
DateTime.MinValue开始? -
@Tim 因为遗憾的是它不是我的数据集,所以我必须解决传感器返回的问题。