我在使用VB.net转换格式为“yyyy-MM-ddZ”的字符串时遇到问题。
例如我有字符串“2007-10-21Z”。
使用CDate或TryParse,它发布于2007年10月20日,而不是10/21/2007。
我不理解Z如何影响日期字符串,以便在解析它时导致前一天。
根据我的理解,Z指定零时区。但是日期字符串没有时间信息。这是如何工作的?
答案 0 :(得分:8)
它将日期解释为午夜祖鲁(GMT)时间,然后将其转换回当地时区。如果您所在的州位于前一天下午3:00到7:00之间。
答案 1 :(得分:6)
尝试
DateTime.ParseExact(“2007-10-21Z”,“yyyy-MM-ddZ”,CultureInfo.InvariantCulture);
答案 2 :(得分:4)
在日期中添加“Z”指定时间为UTC。当您将TryParse CDate为日期时,它会将其转换为当地时间。
答案 3 :(得分:0)
我等不及答案了!