沈阳 网站制作报价,网址升级访问,给网站做广告,营销型企业网站建设流程我在前两篇文章里分享了Global Ready的teams app时会遇到的不同挑战。这篇我继续分享在夏令时方面的挑战。
夏令时#xff0c;主要是为了节约能源#xff0c;英文里通常缩写成DST(Daylight Saving Time)。一般在天亮早的夏季人为将时间调快一小时#xff0c;可以使人早起早…我在前两篇文章里分享了Global Ready的teams app时会遇到的不同挑战。这篇我继续分享在夏令时方面的挑战。
夏令时主要是为了节约能源英文里通常缩写成DST(Daylight Saving Time)。一般在天亮早的夏季人为将时间调快一小时可以使人早起早睡减少照明量以充分利用光照资源从而节约照明用电。各个采纳夏时制的国家具体规定不同。目前全世界有近110个国家每年要实行夏令时。
当然夏令时也有一些弊端
对低纬度地区夏令时作用不大。尤其这些地方在夏天十分湿热夜晚降临时闷热无法入眠而清晨正是睡眠的好时间。当夏令时开始和结束时人们必须将所有计时仪器调快或调慢当夏令时结束时某些时间会在当天出现两次这些都容易构成混乱。并且影响航班的时间。夏令时违背了设定时区的原意──尽量使中午贴近太阳上中天的时间。
我们以下图为例这个是澳大利亚的时间一般情况下分为三个时区分别是加8加9小时半加10小时但是在夏令时下面几个州会将时间调整为加10个半小时和加11个小时。所以整个澳大利亚变成了有5个不同时间。 哪些国家哪些区域有夏令时这些没有什么规则因为这个完全是有不同的国家州自行规定的。我们teams app里是需要去查表的和时区划分一样没有什么简单的规则。
我们国家之前也有过夏令时在1986年至1991年具体开始和结束日期分别是
1986年5月4日至9月14日1987年4月12日至9月13日1988年4月10日至9月11日1989年4月16日至9月17日1990年4月15日至9月16日1991年4月14日至9月15日
大家可以看到每年的开始和结束时间都不同。所以我们在开发teams app的时候不要自己尝试的去判断夏令时建议使用成熟的library不要重复造轮子目前任何一门热门的编程语言都有很成熟的用于时间日期的库或者SDK。我们学习如何使用就好。
另外需要和大家说一点teams里目前发送给我们app的内容里没有包含夏令时信息如下
{name: composeExtension/fetchTask,type: invoke,timestamp: 2019-06-17T14:32:04.956Z,localTimestamp: 2019-06-18T00:32:04.95610:00,id: f:1361493733941541435,channelId: msteams,serviceUrl: https://smba.trafficmanager.net/apac/,locale: en-US,...
}timestamp和localTimestamp两个字段通过这两个字段我们可以获取用户当前的UTC时间和用户所在地的本地时间。比如上面这个json表明了用户在这个本地时间是在加10的时区。但是并没有告诉我们app用户所在的时区和是否正在经历夏令时这个10可能是在10时区也可能是9时区但是正在经历夏令时所以10小时。 如果大家对Teams app开发感兴趣强烈推荐中国微软的牛人Ares陈老师最近出了一套的Teams开发系列视频讲座Microsoft Teams开发入门和实践 https://aka.ms/teamsdev163study 从入门到精通Teams开发对于准备从事或者正在从事Teams app开发的同学来说必看