我有一个像这样的日期的数据库,存储为字符串: 2014-07-14T09:13:01.492 + 02:00:00
我想将它转换为日期时间,如“DD - MM - YYYY,hh-mm-ss”但如果我尝试将我的字符串首先转换为datetimeoffset然后转换为我最喜欢的日期时间格式,则会失败。它似乎因为我的字符串中的最后一个“:00”而失败。如何轻松解决这个问题?
这是原始的错误消息(德语)“Die Zeichenfolge wurde nichtalsgültigesDateTimeerkannt。”
这意味着我的字符串不是有效的日期时间格式
所以这是我的代码(仅使用examplestring)
@{
string str = "2014-07-14T09:13:01.492+02:00:00";
DateTimeOffset newDate= DateTimeOffset.Parse(str);
}
答案 0 :(得分:1)
最好的办法是像Vogel所说的那样规范你的数据库,但既然你做不到,你可能会尝试这样做:
string str = "2014-07-14T09:13:01.492+02:00:00";
DateTime dtnew = DateTime.ParseExact(str, "yyyy-MM-ddTHH:mm:ss.fffzzz:00", System.Globalization.CultureInfo.InvariantCulture);
DateTimeOffset newDate = DateTime.SpecifyKind(dtnew, DateTimeKind.Local);
不是最好的方式,但确实有效!