首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查夏令时是否生效?

问检查夏令时是否生效?
EN

Stack Overflow用户
提问于 2012-05-19 21:43:54
回答 8查看 62.2K关注 0票数 40

如何检查丹麦的夏令时是否生效,如果生效,则在我的数据中增加1小时,否则不生效?我有一个xml文件:

代码语言:javascript
复制
<day = "1"
month = "5"
sunrise ="06:30"
sunset ="21:30"
/>
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-05-19 22:24:11

我认为您需要将这个xml转换为DateTime,然后使用TimeZoneInfo类。

如果丹麦是你的当地时间:

代码语言:javascript
复制
DateTime thisTime = DateTime.Now;
bool isDaylight = TimeZoneInfo.Local.IsDaylightSavingTime(thisTime);

否则你需要获取丹麦TimeZone:

代码语言:javascript
复制
DateTime thisTime = DateTime.Now;
// get Denmark Standard Time zone - not sure about that
TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById("Denmark Standard Time");
bool isDaylight = tst.IsDaylightSavingTime(thisTime);
票数 83
EN

Stack Overflow用户

发布于 2013-08-08 17:36:11

当我按照上面的方式编写代码时-对于New-York,我在调试器中发现时间设置正确(包括DST)

代码语言:javascript
复制
TimeZoneInfo nyTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");

DateTime nyTime = GetLocalDateTime(DateTime.UtcNow, nyTimeZone);

if (nyTimeZone.IsDaylightSavingTime(nyTime))
    nyTime = nyTime.AddHours(1);

public static DateTime GetLocalDateTime(DateTime utcDateTime, TimeZoneInfo timeZone)
    {

        utcDateTime = DateTime.SpecifyKind(utcDateTime, DateTimeKind.Utc);

        DateTime time = TimeZoneInfo.ConvertTime(utcDateTime, timeZone);

        return time;

    }
票数 8
EN

Stack Overflow用户

发布于 2012-05-19 22:24:02

您可以使用TimeZoneInfo.IsDaylightSavingTime

代码语言:javascript
复制
DateTime theDate = new DateTime(2012, 5, 1); // may 1st
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time");
bool isCurrentlyDaylightSavings = tzi.IsDaylightSavingTime(theDate);
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10665678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档