怎么算纽约时间?

聂正舟聂正舟最佳答案最佳答案

假设现在北京时间是上午10点,那么纽约时间是: (24-8)*4=56个小时之前,也就是美国东部夏令时(EDT)的7月13日凌晨2点。 (24-8)*3=63个小时之前,也就是美国东部冬令时(EST)的1月13日凌晨2点。

为什么是63不是64呢?因为从11月第一个周日到次年春季3月最后一个周日,美国实行冬令时,期间比夏令时要多一个小时,即比北京时间晚一个小时;而从春秋冬三季(10月份至来年3月份)则采用加四个小时的办法,即将北京时间与纽约时间同步。 想要知道准确时间的推算方法其实很简单,把问题拆解成几个部分:

第一步,计算当前是夏令时还是冬令时,这个可以通过观察日历或者直接问度娘得到答案;

第二步,计算当前是纽约时间的几点几分; 第三步,判断当前是哪个时刻——是正午12点整,还是上午或者下午哪一点钟;

第四步,补充缺失的时间信息——是几月几日,星期几;

第五步,检查所有时间信息是否完整并加以校对确认。 这样就能得到精确的计算结果了! 举个例子,假设现在在北京时间9月18日上午8点,那么 第一步,确定现在是秋令时,因此纽约时间要比北京时间晚13个小时; 第二步,计算纽约时间为9月18日0点(24减去13等于0); 第三步,由于9月18日是周一,所以是上午8点半(0加上8等于8); 第四步,增加缺失的时间信息,得出完整的日期和时间:9月18日星期一上午8点8分; 第五步,验证得出的时间信息是否正确。

当然,对于题主的问题而言这一步可以省略不计,题目要求已经给出了所有的时间信息。 整个算法的通用步骤就是这样啦~只要记住每一步的思路即可,实际计算起来很简单的! PS. 我自己用C#写了个小程序,可以实现上述功能的封装,感兴趣的同学可以下载试试哦~

发表评论
请发表正能量的言论,文明评论!