我有03-10-14 18:44:58。时间部分是GMT 其中03 =第10天=月= 14 =年,18 =小时44 =分58 =秒
我该如何解析?这就是我正在使用但不起作用的地方:
var date = "03-10-14 18:44:58";
_Packet.Time = DateTime.ParseExact(datetime, "dd-MM-yy HH:mm:ss 'GMT'", CultureInfo.CurrentCulture, DateTimeStyles.AllowWhiteSpaces);
答案 0 :(得分:5)
当然它不起作用,因为解析模式与日期字符串不匹配...您的输入字符串不包含字符串GMT
。
请改为尝试:
var date = DateTime.ParseExact(datetime, "dd-MM-yy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal);
在这里,我使用了AssumeUniversal
和AdjustToUniversal
标志。一起使用,thay会产生UTC日期。
如果您想将其转换为当地时间,那么:
date = date.ToLocalTime();