德国时间冬令时和夏令时_国际新闻

德国时间冬令时和夏令时

国际新闻 2021-10-17 19:35www.worldometers.cn最新国际新闻
最近在处理时间上碰到一个需求,事实表里的时间是德国时间,需要换算成北京时间,换算的逻辑是夏时制时,北京时间与德国时间相差6个小时,北京时间12点,德国比中国晚6个小时,德国时间是凌晨6点;冬时制时,北京时间与德国时间相差7个小时,北京时间12点,德国比中国晚7个小时,德国时间凌晨5点。
 
德国每年3月的最后一个星期日到10月的最后一个星期日实行夏时制,其余时间为冬时制。
 
明确逻辑后,问题就落在了对日期表的日期区分出是夏时制还是冬时制,即是夏令时还是冬令时。冬令时和夏令时的区分就是区分出每年3月的最后一个星期日和10月的最后一个星期日,同一年中在这两个时间之间的就是夏令时,之外的就是冬令时。
 
可以在日期表里新建两列,一列是每年3月的最后一个星期日,一列是每年10月的最后一个星期日,再建一列判断是冬令时还是夏令时。
 
日期表里要包含星期几的列来说明那一天是周几,还要有年和月两列:
 
每年3月最后一个星期日的公式里首先新建一个var变量a表示当前行的年份,然后maxx公式在筛选出的每年3月周日的表里返回3月的最后一个星期日,返回的值既要是3月最后一个星期日还要和所在行的日期是同一年份,同样的逻辑算出每年10月最后一个星期日的计算列。
 
然后判断冬夏令时:
 
判断出冬夏令时后,时间换算就迎刃而解了~~
步骤分开写方便理解,但是分三列计算会影响性能,所以把这三个计算列合在一起写:
 
 
本场景处理的关键是确定3月最后一个星期日和10月最后一个星期日,类似的在处理某月最后一个周几的时候使用var变量先确定月份所在的是哪一年,然后在筛选的某月周几的表里返回最后一个周几的日期,得出时间节点后就可以做其他的判断了(如冬夏令时)。
上一篇:德国时间 下一篇:德国时间查询

Copyright © 2016-2025 www.worldometers.cn 全球网 版权所有 Power by

全球化,全球疫情,全球股市,全球新闻网,全球地图,全球通史,经济全球化,全球变暖,全球进化,