Tag: dst

如何检查给定日期是否为DST日期?

我有一个日期作为字符串。 没有时间信息。 例如。 “20131031”ie)2013年11月31日。 我想validation是否是DST发生的日期? 西方欧洲。 ie)c#是否有API,也就是说它是DST日期? 对于10月的最后一个星期日和3月的最后一个星期日,我只想要一个布尔值作为回报。 这是调整时钟的日期。

TimeZoneInfo是否考虑了DST?

在时区之间进行转换时,C#是否会考虑夏令时? 我有一个源日期在伦敦的当前时间,我想将其转换为我的时区(CET)。 这是我正在使用的代码。 DateTime time = DateTime.ParseExact(timeString, “HH:mm”, null); time = DateTime.SpecifyKind(time, DateTimeKind.Unspecified); //Convert it to the right timezone. It is currently in GMT TimeZoneInfo gmt = TimeZoneInfo.FindSystemTimeZoneById(“GMT Standard Time”); TimeZoneInfo current = TimeZoneInfo.Local; DateTime utc = TimeZoneInfo.ConvertTimeToUtc(time, gmt); DateTime local = TimeZoneInfo.ConvertTimeFromUtc(utc, core.startTime = local; 它目前运作良好。 然而,当DST出现丑陋的头脑时,它会继续工作还是会破坏它? 由于过去遇到了大量问题,我对TimeZones有点警惕。

检测DST当前是否已启用

我需要找到一种简单的方法来了解本地计算机是否启用了“自动调整夏令时的时钟”选项。 如果选项打开,我需要知道它当前是否已应用(即它是否是当前系统中的DST)。 提前致谢

将某人的当地时间转换为UTC时间

我在时区有点迷失:) 我的数据存储时间为UTC。 服务器在荷兰,所以我们住在utc + 1(现在,在daylightavingtime,utc + 2) 现在客户说:从8月5日开始给我数据。 所以我必须从’他的时间’计算出来的时间。 为此,我必须知道: 什么是你的utc偏移(我们存储在他的个人资料中,让我们说utc -6)你是在白天时间(因为那时我们必须添加+1并使utc偏移-5) 然后我的问题: 我可以问一下.Net框架:国家XX有没有白天时间? 我可以问.Net框架:在那个时刻国家XXX的白天时间是08-05-2010T00:00:00吗? 我一直在尝试.ToLocalTime(),但这只给了我在服务器的本地时间,这不是我想要的,我想用用户的时区计算,还有在那个特定的事实时间点,如果他/她处于白天 我也看过这个VB例子: TimeZone As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(“W. Europe Standard Time”) Dim Dated As DateTime = TimeZoneInfo.ConvertTimeToUtc(TempDate, TimeZone) 但是imho没有考虑到这个时区的用户是否处于daylightavingtime(dst)国家。 例如,这个时区的一个用户在荷兰有dst,而另一个用户在另一个没有dst的国家。

为什么不减去两个本地DateTime值似乎占夏令时?

我正在玩一些C#代码,试图了解如何在夏令时中减去C#中的DateTime对象。 根据谷歌和其他消息来源,2017年东部标准时区的夏令时“春晚”活动是在3月12日凌晨2点。因此,当天的前几个小时是: 12:00am – 1:00am 1:00am – 2:00am (There was no 2:00am – 3:00am hour due to the “spring ahead”) 3:00am – 4:00am 所以,如果我要计算该日期在该时区的凌晨1点到凌晨4点之间的时间差,我希望结果是2小时。 但是,我试图模拟这个问题的代码是返回3小时TimeSpan。 码: TimeZoneInfo easternStandardTime = TimeZoneInfo.FindSystemTimeZoneById(“Eastern Standard Time”); DateTime oneAm = TimeZoneInfo.ConvertTime(new DateTime(2017, 03, 12, 01, 00, 00), easternStandardTime); DateTime fourAm = TimeZoneInfo.ConvertTime(new DateTime(2017, 03, 12, 04, 00, 00), easternStandardTime); TimeSpan […]

DateTime.ParseExact忽略第一个字符C#

我从“ 1140421164500 ”这样的设备中获取string值。 我必须将其转换为DateTime类型。 我想使用DateTime.ParseExact函数。 我知道我可以通过手动省略第一个字符来转换它,如下所示: DateTime.ParseExact(“140421164500”, “yyMMddHHmmss”, CultureInfo.InvariantCulture); 但我想避免手动省略第一个字符。 我想在ParseExact函数中使用wildcard字符忽略它,如: DateTime.ParseExact(“1140421164500”, “*yyMMddHHmmss”, CultureInfo.InvariantCulture); 让我注意,第一个char可以是1,夏令时是活动的,0是被动的。 该设备也可以发送给我,如“ 0140101000000 ”。 这个function有什么相似之处吗?

为什么C#没有检测到1970/1/1是否属于BST?

我正在使用第三方API,它返回时间值作为DateTime值填充1970年1月1日作为日期部分。 因此,对于1969-12-31T21:03:00.000-08:00 5点,它将返回类似1969-12-31T21:03:00.000-08:00 问题是,如果用户在伦敦时间,则C#无法应用1970-01-01的BST调整。 例如,UTC的1970-01-01 5AM应该是1970-01-01 6AM在伦敦。 见转换 但是,C#似乎不适用于此转换: var utcTime = new DateTime(1970, 1, 1, 5, 0, 0, DateTimeKind.Utc); var britishZone = TimeZoneInfo.FindSystemTimeZoneById(“GMT Standard Time”); var ukTime = TimeZoneInfo.ConvertTime(utcTime, britishZone); Console.WriteLine(ukTime); 上面的代码仍然会打印5AM。 但是,如果我将其设置为BST有效的最近日期,例如2016年10月1日,则相同的代码可以正常打印6AM。 为什么它会这样? 我该如何解决这个问题? 我们的应用程序需要跨任何TimeZone工作(即硬编码时区不是一个选项 – 我们基本上使用Windows本地时区)。

CRM 2011,插件中的日期和夏令时

我有一个问题,我自己解决,但需要一些确认的话,我是否100%正确的想法,只是因为没有任何文件,我发现certificate自己是正确的。 我的服务器目前处于DST时间,CRM UI也显示1小时,然后数据存储在db中。 没关系。 当我使用插件计算和存储日期时,在我的插件更新操作完成后,CRM平台从我保存的数据中扣除1小时。 我已经读过,当我们通过SDK相关日期时间进行一些操作时,CRM会按日期时间存储日期时间。 是时候在DST的时候,平台也会涉及到当时扣除1小时? 作为一个决议,我已经评论了我的扣除1小时的行,让CRM现在就做了。 我是否理解我的理解,或者如果有人可以提供任何文档URL,那将是可观的。

如何判断它是否是英国夏令时

我有以下代码,它应该返回60的偏移量(显示目前在英国,我们在英国夏令时 – 即比格林威治标准时间早60分钟): var info = TimeZoneInfo.FindSystemTimeZoneById(“Greenwich Standard Time”); DateTimeOffset localServerTime = DateTimeOffset.Now; double off = localServerTime.Offset.TotalMinutes; return off; 但是,它返回0。 有谁可以帮我解决这个问题?

获取夏令时转换发生的下一个日期/时间

我想在C#中编写(或使用,如果它已经退出)一个函数,它返回给定System.TimeZoneInfo对象的下一个DST转换的日期/时间以及该时区中特定的“截至”时间。 返回的时间应在提供的时区内。 我想要的function有这个签名: public DateTime GetNextTransition(DateTime asOfTime, TimeZoneInfo timeZone) { // Implement me! } 例如,如果我传入“东部标准时间”TimeZoneInfo对象,以及1/21/2011 @ 17:00作为“asOfTime”,我希望此函数返回2011年3月13日@ 2:00。 System.TimeZoneInfo.TransitionTime结构似乎具有我需要的所有信息,但理想情况下会有某种内置机制将规则转换为实际日期。 有人有什么建议吗?