完全搞砸了Lotus Notes DXL时间戳格式...... 给定是Lotus Notes文档中导出的DXL的时间戳,如下所示:
20141104T132939,49+01
尝试使用DateTime.ParseExact
格式,例如:
DateTime.ParseExact(dateStr.Substring(0, 13), "yyyyMMddThhmm", System.Globalization.CultureInfo.InvariantCulture).ToString("dd.MM.yyyy hh:mm");
但没有运气>>> System.FormatException "no valid DateTime format"
。
C#能否按原样处理上述时间戳?
答案 0 :(得分:1)
问题在于您的文字格式 - 您已使用hh
这是 12小时时钟,但您的值为13.您想要的HH
,这是24小时制。我还建议引用T
,因为您只需要文字T
字符,并且还要为第二个字符添加以下两个字符:
DateTime dateTime = DateTime.ParseExact(
dateStr.Substring(0, 15),
"yyyyMMdd'T'HHmmss",
CultureInfo.InvariantCulture);
我会建议尽可能长时间保持DateTime
,只转换回你真正需要将其显示给客户的字符串。