关于日期和时间的那些事,过来看看你都能搞对吗?
💡
原文中文,约3200字,阅读约需8分钟。
📝
内容提要
本文介绍了日期和时间的问题,如闰月、闰年、时区偏移量、夏令时、日期计算等。作者提醒读者注意应用程序的要求,简化实现。
🎯
关键要点
- 日期和时间问题包括闰月、闰年、时区偏移量、夏令时等。
- 一些日历使用闰月,导致一年可能有13个月。
- 公历中,闰年有366天,但历史上有国家改变日历。
- 天数在某些情况下可能不是连续的,尤其是日历变更时。
- 闰年的计算规则是年份能被4整除,且如果能被100整除则需能被400整除。
- UTC和GMT通常被认为是相同的,但在科学研究中有细微差别。
- 时区偏移量不一定是整数,有些时区如纽芬兰夏令时为UTC-2:30。
- 夏令时的偏移量不一定是-1或+1小时,可能有30分钟或2小时的情况。
- 不同地区的夏令时开始时间不同,且并非所有时区都遵循夏令时。
- 日期时间加时区表示单个时间点,但夏令时可能导致同一时刻有不同表示。
- 同一月份在不同地方可能有不同天数,例如瑞典的February 30th。
- 地球自转周期变化可能导致1分钟不等于60秒,需插入闰秒进行校正。
- 一天的定义可能因国家而异,例如日本在实施夏令时时的特殊处理。
- 一个国家可以有多个时区,例如中国有五个时区。
- 计算两个日期之间的天数可能复杂,需考虑时区和日历变化。
- 以UTC格式存储日期并不能解决所有问题,特别是夏令时的变化。
- 机器之间的时间同步可能受到多种因素影响,NTP协议并不总是准确。
- 开发应用程序时需了解日期和时间的要求,限制支持的范围可简化实现。
➡️