date指令,計算 timestamp

話說 timestamp 是從 00:00:00 1970-01-01 UTC 開始
所以當我們下
date +%s
可以得到從 00:00:00 1970-01-01 UTC 到現是經過了多少秒鐘
有些寫程式的習慣會用到這個算法存至資料庫
為何呢,因為
1。好算
2。unix有很多函數支援timestamp
3。某人建議

但聽高人說: 不見議這麼作,因為至 2038 年時又會像 y2k 那個爆掉,timestamp 只有 32 位元

另外
如何反算 1206090971 為 五  3月 21 17:16:27 CST 2008
就下
date -d "1970-01-01 UTC 1206090971 seconds"

後面也可以這麼作
date -d "1970-01-01 UTC 1206090971 seconds" +%F
就成了
2008-03-21


added - 2008/06/10

date -d '2008-06-10 16:39:30' +%s
1213087170
date -d '1970-01-01 UTC 1213087170 seconds' +'%F %H:%M:%S'
2008-06-10 16:39:30

added -2008/09/17

更簡化的方式

date -d @1213087170 +'%F %H:%M:%S'
標籤: 時間 date timestamp
評論: 0 | 引用: 0 | 閱讀: 3426 | 列印 | 文件 | 轉發

發表評論
暱 稱: 密 碼:
網 址: E - mail:
驗證碼: 驗證碼圖片 選 項:
頭 像:
內 容:
  • 粗體
  • 斜體
  • 底線
  • 插入圖片
  • 超連結
  • 電子郵件
  • 插入引用
  • 表情符號