Problem converting a GMT date to local time using C#?
我们有一个用C(紧凑框架)编写的Windows Mobile应用程序。区域设置为(英语)新西兰。时区设置为格林尼治标准时间+12新西兰。
我们以GMT/UTC格式存储日期。我们有一个日期,2010-02-18,18:00:00,在UTC
这次在新西兰是早上7点。
当我们调用日期时间对象时
1 | starttime = starttime.ToLocalTime(); |
我们早上9点到。我们做错了什么?
你在那个日期时间里指定了"种类"吗?像这样:
1 2 3 4 5 | DateTime parsedStartTime = DateTime.SpecifyKind( DateTime.Parse(starttime), DateTimeKind.Utc); DateTime localStartTime = parsedStartTime.DateToLocalTime(); |
这可能会有所帮助,因为它可能不知道您现在拥有的日期时间是UTC类型(可能未指定)。
如果这不起作用,那么显示StartTime设置方式的一些代码可能会有所帮助。