繁体   English   中英

根据时区的偏移量和后缀查找夏令时指示

[英]finding daylight saving indication based on offset and suffix of time zone

我正在使用Earth Tool Webservice查找基于纬度的时区。 我在Web服务中得到了偏移量和后缀。

地球工具网络服务

现在,我面临的问题是我需要从偏移量和后缀获取时区,并确定该区域是否有夏令时。 我怎样才能做到这一点?

.Net有一个不错的TimeZoneInfo.Local.IsDaylightSavingTime,但是很遗憾,您没有足够的信息来创建实例。

但是,您应该可以执行以下操作:

var offSet = -7;
var utcDateTimeStr = "2011-09-10 22:15:38";
var localWithDSStr = "10 Sep 2011 15:15:38";

// utc time
DateTime utcDateTime = DateTime.SpecifyKind(
                           DateTime.Parse(utcDateTimeStr), DateTimeKind.Utc);
// time taking into account daylight savings
DateTime localWithDS = DateTime.SpecifyKind(
                           DateTime.Parse(localWithDSStr), DateTimeKind.Local);
// time not taking into account daylight savings
DateTime localWithoutDS = utcDateTime.AddHours(offSet);

// is the time given adjusted for daylight savings
TimeSpan diff = (localWithoutDS - utcDateTime);
bool isDayLightSaving = diff.Hours != offSet;

如果该lang + lot上有夏令时,则使用的API会返回,您不必从offset和后缀中找出它。

看到这个:

dst
本地时间和等时时间元素是否包括夏令时。 如果它们这样做,则此元素的值为True。 如果没有,则该值为False。 如果无法确定是否应使用夏令时,则该值为Unknown。 从:1.1

如果要自行确定它,而没有此属性,则必须知道指向的国家/地区,因为DST特定于国家/地区。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM