程序员对时间的错误信念

问题描述 投票:0回答:1

我刚刚经历了关于时间的错误程序员信念+数字2。他们中的大多数分为三组:

  • 闰年/秒
  • 尼泊尔有UTC+0545
  • 夏令时

但是有一些我找不到答案。有人可以帮忙告诉我为什么以下陈述是错误的吗?

  1. 系统时钟永远不会被设置为以下时间: 遥远的过去或遥远的未来。
  2. 好的,但是系统时钟上一分钟的持续时间 大多数情况下都会非常接近一分钟的持续时间 其他时钟。

来自 crowd 版本:

  1. 非闰年永远不会包含闰日。
  2. Unix 时间对任何事情都一无所知,除了 秒。
  3. Unix 时间是自 1970 年 1 月 1 日以来的秒数。
  4. 周六的前一天总是周五
  5. [两个不同的时区将相差一个整数 一刻钟。
  6. 如果解析日期时间,则可以读取数字 性格对性格,无需走回头路
  7. 但是如果你打印日期时间,你可以写数字 性格对性格,无需走回头路
  8. 您永远不必解析类似 —12Z 或 P12Y34M56DT78H90M12.345S
  9. 一年有365或366天。
  10. 时间在山顶以同样的速度流逝 在山谷的底部。
  11. 该软件永远不会在绕轨道运行的太空飞船上运行 一个黑洞。

我的猜测是,有一个(或至少只有几个)关于日期时间/时区的类别/事实我完全忘记了。它是什么?

datetime timezone
1个回答
3
投票

这个问题看起来相当广泛,但我可以解决前两个和其他几个问题。

  1. 系统时钟永远不会被设置为遥远的过去或遥远的未来的时间。

开发人员有时出于测试目的这样做。编写应用程序的人可能希望确保他们的应用程序在不久的将来仍然能够跨越一些类似千年虫的障碍。在测试时,他们不必担心他们的鼠标驱动程序会出现问题,因为它没有配置为在 2018 年 8 月 28 日后的第二天 5010 年 1 月 1 日到来时正常工作,并且不知道该怎么做当它意识到它没有整个 5009 的任何日志条目时。

  1. 好的,但是系统时钟上一分钟的持续时间将非常接近大多数其他时钟上一分钟的持续时间。

计算机系统可能位于黑洞附近的宇宙飞船上,并受到其“时间膨胀”的影响。如果它需要与远处的计算机保持连接(例如通过未来的星际分组无线电),它不应该因为系统时钟几个小时甚至不同步而呕吐、给出乱码输出或蓝屏更多。 这也可能是由于内部时钟损坏或有缺陷造成的。定时晶体、EPROM 和其他组件往往非常坚固可靠,但它们是制成品,确实有一定的公差,并且在极少数情况下会出现故障。

另外,从你的第二个列表中:

一年有365或366天。
在一些国家,包括英国,
由于从儒略历转换为公历,

1752 年有 354 天

周六的前一天总是周五
2011年,
萨摩亚转换时区,直接从周四跳到周六

    时间在山顶和谷底以同样的速度流逝。
  1. 该软件永远不会在绕黑洞运行的太空飞船上运行。
这些都是对上述时间膨胀的引用。

这里确实有两个原则。一是相对论/时间膨胀,二是日历不是一个简单的静态方程!由于政治、社会和天文现实,它会随着时代的变化而变化!许多其他项目也与日历将来可能发生变化这一事实有关。以前已经改变了,为什么不再改变呢?

还有在其他行星上提议的计时系统的问题,例如

火星

。也许我们现在没有运行它们的计算机,但也许您现在编写的软件将安装在为奥林匹斯蒙斯时间配置的火星系统上(嘿,有些人在 2018 年仍在使用 Windows XP,怎么办?你期望吗?)。

© www.soinside.com 2019 - 2024. All rights reserved.