回答
申请“偏移”到DateTime
,你已经是创造一个TimeSpan
结构握着你的偏移值,然后简单地“这个最简单的方法将“偏移量”添加到原始DateTime
值。
例如:
DateTime utcDateTime = DateTime.Parse("29 July 2010 14:13:45");
TimeSpan offSet = TimeSpan.Parse("-03:00:00");
DateTime newDateTime = utcDateTime + offSet;
Console.WriteLine(newDateTime);
这导致下面的输出:
29/07/2010 11:13:45
,它是原始时间(2010年7月29日14点13分45秒)减去3小时(该抵消 - -03:00:00)。
请注意,此技术仅使用您的DateTime
值执行简单算术,并且不考虑任何时区。
请注意,当字符串中有'+'符号时,解析失败。因此,请使用' - '符号或根本没有符号! http://msdn.microsoft.com/en-us/library/se73z7b9%28v=vs.110%29.aspx – Jowen 2015-01-14 14:22:30
有关夏令什么? – 2016-02-12 12:51:21
@AnilPurswani你将只能如果你知道具体的时区,而不是仅仅一个“小时偏移”应用夏令时偏移。所述的TimeZoneInfo类有一个属性(SupportsDaylightSavingTime),以指示是否一个特定的时区支持夏令时。不同的时区可能具有相同的小时偏移量,但可能会或可能不支持夏令时。 – CraigTP 2016-02-12 12:56:55
你很可能会碰到的问题是,大多数DB驱动程序从数据库中获取的时候将创建DateTime
与DateTimeKind.Unspecified
,当您使用ToUniversalTime
可能不会转换为UTC甚至正常。为了避免这种情况,我使用了这样的扩展方法:
public static DateTime ToSafeUniversalTime(this DateTime date) {
if(date != DateTime.MinValue && date != DateTime.MaxValue) {
switch(date.Kind) {
case DateTimeKind.Unspecified:
date = new DateTime(date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second, DateTimeKind.Utc);
break;
case DateTimeKind.Local:
date = date.ToUniversalTime();
break;
}
}
return date;
}
- 1. 将JavaScript日期()转换为UTC和抵消时间
- 2. utc和本地日期时间转换
- 3. 将当地日期时间转换为UTC日期时间
- 4. 将UTC日期时间转换为日期时间偏移
- 5. 转换UTC日期时间当地日期时间
- 6. 如何将UTC日期/时间转换为EST日期/时间
- 7. 将UTC日期时间转换为当地日期时间
- 8. 在UTC中将UTC时间转换为日期时间格式?
- 9. 如何转换UTC日期时间?
- 10. 转换日期时间为UTC值MSSQL
- 11. pytz - 将日期时间转换为UTC
- 12. 转换日期时间到UTC
- 13. UTC转换为当地日期时间
- 14. utc中的转换日期时间
- 15. 将日期时间转换为SQL UTC
- 16. RestSharp将日期时间转换为UTC
- 17. 将UTC日期时间转换为用户的本地日期和时间
- 18. UTC日期和时间
- 19. 将UTC日期转换为实际日期和时间
- 20. JavaScript:将UTC日期时间转换为传递时区日期时间
- 21. 如何将utc日期时间转换为模糊时间戳
- 22. 将本地日期时间转换为UTC时间在php
- 23. 转换时间列于UTC时间,没有日期
- 24. 如何将UTC日期时间转换为本地时间Jquery
- 25. 从UTC时间转换到日期时间
- 26. 如何将整数时间戳转换回UTC日期时间?
- 27. 将UTC时间转换为python日期时间
- 28. 转换时间戳/日期时间从UTC到EST的Oracle SQL
- 29. 日期和时间转换
- 30. 将PST时区中的日期和时间转换为UTC
'12:12:12'看起来不像我的UTC时间或'datetime'字段。你能详细说明每个部分的含义吗? – Oded 2010-07-29 11:17:30
http://stackoverflow.com/questions/2548235/convert-utc-datetime-to-another-time-zone 这将帮助你 – 2010-07-29 11:18:57
@Oded它是UTC偏移。它的范围是-12:00:00至13:00:00 – developer 2010-07-29 11:24:08