string sDateTimeValue = "2015-05-21T15:26:00Z";
if (DateTime.TryParse(sDateTimeValue, out dTime))
{
DateTime dddd = dTime;
}
结果dddd="2015-05-21 23:26:00"
为什么多了8个小时?求大牛指点。
(⊙o⊙)… 能不能说下 怎么解决这个多8小时的问题,用什么函数?
因为2015-05-21T15:26:00Z是UTC时间格式,你在自己机器上跑的是本地时区(UTC+8),你这样试试:DateTime dddd = dTime.ToUniversalTime();
完美解决
因为北京时间是+8
(⊙o⊙)… 能不能说下 怎么解决这个多8小时的问题,用什么函数?谢谢
@Carl --卡尔:
If the time is in UTC, add a 'Z' directly after the time without a space. 'Z' is the zone designator for the zero UTC offset. "09:30 UTC" is therefore represented as "09:30Z" or "0930Z". "14:45:15 UTC" would be "14:45:15Z" or "144515Z".
UTC time is also known as 'Zulu' time, since 'Zulu' is the NATO phonetic alphabet word for 'Z'.
你这个00Z是哪儿出来的?
要解决时间地区相关的问题,应该是在Globalization这个命名空间里面。
或者通过设置地区搞定,WINDOWS里面的设置可能影响结果。
有个带 DateTimeStyles 参数的 TryParse