如何使用 .net 将字符串"yyyy-MM-ddZ"转换为日期时间?



我在使用VB.net转换"yyyy-MM-ddZ"格式的字符串时遇到问题。

例如,我有一个字符串"2007-10-21Z"。

使用CDate或TryParse,它会出现在2007年10月20日,而不是2007年10日21日。

我不明白Z是如何影响日期字符串的,所以当解析它时,它会在前一天产生结果。

据我所知,Z指定了零时区。但是日期字符串没有时间信息。这是怎么回事?

它将日期解释为午夜祖鲁(GMT)时间,然后将其转换回您的本地时区。如果你在美国,那将是前一天下午3点到7点之间。

尝试

DateTime.ParseExact("2007-10-21Z","yyyy-MM-ddZ",CultureInfo.InvariantCulture);

在日期中添加"Z"指定时间为UTC。当你CDate的TryParse的日期,它是转换为当地时间。

哇,太有趣了。我尝试使用C#DateTime.Parse("2008-10-31").ToString();结果为"10/30/2008 5:00:00 PM"。

我等不及答案了!

相关内容

  • 没有找到相关文章

最新更新