我在使用VB.net转换格式为“yyyy-MM-ddZ”的字符串时遇到了问题。如何使用.net将字符串“yyyy-MM-ddZ”转换为日期时间?
例如我有字符串“2007-10-21Z”。
使用CDate或TryParse它出来2007年10月20日,而不是10/21/2007。
我不理解Z如何影响日期字符串,所以当它被解析时,它会在前一天导致。
根据我的理解,Z指定了零时区。但日期字符串没有时间信息。这个怎么用?
我在使用VB.net转换格式为“yyyy-MM-ddZ”的字符串时遇到了问题。如何使用.net将字符串“yyyy-MM-ddZ”转换为日期时间?
例如我有字符串“2007-10-21Z”。
使用CDate或TryParse它出来2007年10月20日,而不是10/21/2007。
我不理解Z如何影响日期字符串,所以当它被解析时,它会在前一天导致。
根据我的理解,Z指定了零时区。但日期字符串没有时间信息。这个怎么用?
尝试
DateTime.ParseExact( “2007-10-21Z”, “YYYY-MM-DDZ”,CultureInfo.InvariantCulture);
哇,这很有趣。我尝试在C#DateTime.Parse(“2008-10-31”)。ToString();结果是“10/30/2008 5:00:00 PM”。
我不能等待答案!
你打算打字DateTime.Parse(“2008-10-31Z”)? (您的帖子中缺少“Z”)。否则你的结果没有意义。 – 2008-11-01 01:31:07
是的,我做到了。感谢您指出了这一点! – Cyberherbalist 2008-11-03 16:16:12
将“Z”添加到日期中指定时间为UTC。当您尝试使用TryParse日期时,它会将其转换为当地时间。
它将日期解释为午夜祖鲁(GMT)时间,然后将其转换回当地时区。如果您位于前一天下午3点到7点之间的州内,
谢谢。我不仅知道日期为什么成为日期之前的日期,而且还说明了如何使日期变得如此,以便我可以得到没有时区转换的日期。 – dtc 2008-11-01 02:15:39