成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Go 憑什么搞特殊?不用 yyyy-mm-dd,非得要 2006-01-02 15:04:05......

開發 前端
歸根到底還是世界各地用的時間格式不一樣,而 Go 這里根據 Rob 的反饋,實際上它只是以某國為時間中心的 “隨機” 格式,對應的就是 “1 2 3 4 5 6 7”。

大家好,我是煎魚。

前段時間我寫了一篇《??Go1.20 中兩個關于 Time 的更新,終于不用背 2006-01-02 15:04:05 了!????》,文中有提到 Go 的參考時間格式是:2006-01-02 15:04:05,并解釋這么設計的緣由。

有很多同學表示不解。如下圖:

圖片

甚至我在點外賣時還特意看了,某團在個人信息頁中的生日那一欄,是如此顯示的:

圖片

那熟悉的 yyyy-mm-dd。我甚至一度懷疑這是不是彩蛋,這可能只有程序員懂?

ISO 8601 規范

尤其是有提到 ISO 8601,這是一個國際標準化組織提供的一個有關時間表示的規范,其中我們最為熟悉的是日期表示法。

具體介紹摘抄自網絡,如下:

YYYY-MM-DDThh:mm:ss[.mmm]TZD
2022-11-18T10:05:45+08:00
  • YYYY:四位數年份,不全補齊。
  • MM:月份、兩位,不全補齊。
  • DD:兩位數的天(day of the month),01~31。
  • T:指示時間元素的開始字符。
  • hh:兩位數的小時,00~23。
  • mm:兩位數的分鐘,00~59。
  • ss:兩位數的秒,00~59。
  • mmm:三位數的毫秒,000~999。
  • TZD:時區指示符:Z 或 +hh:mm 或 -hh:mm,+ 或 - 表示時區距離 UTC 時區多久。

為什么這么特別

我們之前的文章都在介紹 2006-01-02 15:04:05 這個時間點代表的含義是什么,代表什么意思:

Jan 2 15:04:05 2006 MST
1 2 3 4 5 6 -7

這有一個大大的問題,那就是 Go 為什么不遵守 ISO 8601 規范,非得用這個?這莫非是一種新的創新...

在我猛翻后,找到了在對標準化辯解的背后。實際上 @Rob Pike 在 2014 年在《What is the reason behind time.Parse using a reference time?[1]》進行了解釋,說明為什么會選擇這個時間點。

圖片

這個選擇是由我的 Unix 機器上的 date 命令的輸出所決定的。我應該意識到格式會隨著地區的不同而變化。錯了。但我仍然可以說它很容易記住,并且有據可查?!?/p>

這就是原因。

為什么那么難受

大家一開始可能以為只有我們用的比較變扭?但其實不止,各地的人都擁到了社區里反饋過這個問題。

歸根到底還是世界各地用的時間格式不一樣,而 Go 這里根據 Rob 的反饋,實際上它只是以某國為時間中心的 “隨機” 格式,對應的就是 “1 2 3 4 5 6 7”。

例如:“Jan 2 3:04 pm 06 -0700”。

所代表的意義:

  • Jan:第一個月
  • 2:第二天
  • 3:下午 3 點
  • 4:第 4 分鐘
  • 5:第 5 秒
  • 6:本世紀第 6 年
  • 7:比格林威治標準時間晚 7 小時。

看起來很有規律,但...

總結

Go 的這一項時間規范選擇,是比較特殊的。很多同學希望他 “改邪歸正”,用回 yyyy-mm-dd,別再用 2006-01-02 15:04:05 了。

這顯然不現實,首先是 Go1 兼容性不允許,其次一山不能容二虎,加估計都沒法加。這件事已成定局。

建議還是記好 Go1.20 要新增的 3 個常量,這個以后不用去背和查了。如下:

DateTime   = "2006-01-02 15:04:05"
DateOnly = "2006-01-02"
TimeOnly = "15:04:05"

這個比較現實。

這個設計,我認為是技術債務了。將會持續陪伴 Go1 終身,你我皆為局中人。

Go2 有戲更正嗎?暫未看到。

責任編輯:武曉燕 來源: 腦子進煎魚了
相關推薦

2021-08-08 22:04:15

Go時間格式化

2022-11-17 08:47:20

Go特性標準庫

2021-01-29 09:17:00

深度學習AI人工智能

2018-12-28 09:25:50

機器學習深度學習工程師

2021-08-30 10:49:39

Go語言編譯器

2021-04-06 15:38:01

手機國產蘋果

2017-06-06 16:30:55

戴爾交付保障

2020-08-20 14:04:34

日志MySQL磁盤

2023-06-13 07:50:49

Gopher格式化時間

2021-03-18 08:54:55

Go 語言函數

2021-03-16 10:07:51

自動駕駛特斯拉人工智能

2021-01-28 19:31:59

MySQL手冊方法

2015-07-02 11:46:21

亞馬遜云計算估值

2020-10-28 08:32:18

EDRNTAXDR

2019-09-23 13:45:48

工業互聯網物聯網企業

2018-09-07 18:56:03

2017-05-10 11:30:28

人工智能

2011-05-16 14:00:39

東芝筆記本

2017-09-04 13:02:00

程序員

2020-09-25 08:10:55

Rust系統編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久综合久久久 | 亚洲日韩欧美一区二区在线 | 久久精品亚洲欧美日韩精品中文字幕 | 国产欧美精品区一区二区三区 | 日本爱爱视频 | 亚洲成人网在线播放 | 91麻豆精品一区二区三区 | 国产精品毛片无码 | 青青艹在线视频 | 欧美精品成人一区二区三区四区 | 97伦理最新伦理 | 人人人干 | 国产 欧美 日韩 一区 | 日韩和的一区二在线 | 国产一级一片免费播放 | 国产精品日韩在线观看 | 免费在线成人 | 国产精品国产成人国产三级 | 久草福利| 成人妇女免费播放久久久 | 欧美精品一区二区三区在线播放 | 欧美日韩亚洲在线 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 国产一区二区视频免费在线观看 | 日韩精品一区二区三区视频播放 | 久久国产综合 | 天天操天天玩 | 亚洲精品一区二区三区蜜桃久 | 日韩精品一区二区三区老鸭窝 | 青青青伊人 | 亚洲经典一区 | 日韩一区二区三区视频 | 777777777亚洲妇女| 成人综合视频在线观看 | 成人黄色电影在线观看 | 黄色欧美视频 | 国产一区二区中文字幕 | 色偷偷人人澡人人爽人人模 | 国产精品免费av | 国产成人jvid在线播放 | 国产乱码精品一区二区三区五月婷 |