程式設計師相信的關於時間方面的謊言

banq發表於2022-05-24

以下所有這些假設都是錯誤的
  1. 一天總是有24小時。
  2. 月份有 30 天或 31 天。
  3. 一年有365天。
  4. 二月總是28天。
  5. 任何 24 小時週期將始終在同一天(或一週或一個月)開始和結束。
  6. 一週總是在同一個月開始和結束。
  7. 一週(或一個月)總是在同一年開始和結束。
  8. 執行程式的機器將始終處於 GMT 時區。
  9. 好吧,那不是真的。但至少程式必須執行的時區永遠不會改變。
  10. 好吧,程式必須在生產環境中執行的時區肯定永遠不會改變。
  11. 系統時鐘將始終設定為正確的本地時間。
  12. 系統時鐘將始終設定為與正確的本地時間相差不大的時間。
  13. 如果系統時鐘不正確,它至少會始終關閉一致的秒數。
  14. 伺服器時鐘和客戶端時鐘將始終設定為相同的時間。
  15. 伺服器時鐘和客戶端時鐘將始終設定為 大致相同的時間。
  16. 好的,但是伺服器時鐘上的時間和客戶端時鐘上的時間不會相差幾十年。
  17. 如果伺服器時鐘和客戶端時鐘不同步,它們至少會始終不同步一致的秒數。
  18. 伺服器時鐘和客戶端時鐘將使用相同的時區。
  19. 系統時鐘永遠不會設定為遙遠過去或遙遠未來的時間。
  20. 時間沒有開始,也沒有結束。
  21. 系統時鐘上的一分鐘與任何其他時鐘上的一分鐘具有完全相同的持續時間
  22. 好的,但是系統時鐘上一分鐘的持續時間將 非常接近大多數其他時鐘上一分鐘的持續時間。
  23. 很好,但是系統時鐘上一分鐘的持續時間永遠不會超過一個小時。
  24. 你不能是認真的。
  25. 最小的時間單位是一秒。
  26. 好的,一毫秒。
  27. 永遠不需要將系統時間設定為正確的本地時間以外的任何值。
  28. 好的,測試可能需要將系統時間設定為正確的本地時間以外的值,但在生產中永遠不需要這樣做。
  29. 時間戳將始終以常見的格式指定,例如 1339972628 或 133997262837。
  30. 時間戳將始終以相同的格式指定。
  31. 時間戳將始終具有相同級別的精度。
  32. 足夠精確的時間戳可以安全地被認為是唯一的。
  33. 時間戳表示事件實際發生的時間。
  34. 人類可讀的日期可以以普遍理解的格式指定,例如 05/07/11。

相關文章