使用標準函式庫取得今天的日期

任務

日期和時間 / 取得今天的日期

未使用任何套件

此食譜僅使用 OCaml 標準函式庫

程式碼

隨 OCaml 標準函式庫提供的 unix 函式庫,提供了處理日期和時間的函式。

let today = Unix.localtime (Unix.time ());;
let day = today.Unix.tm_mday;;

月份編號為 0 到 11。

let month = today.Unix.tm_mon + 1;;

年份從 1900 年開始計算。

let year = today.Unix.tm_year + 1900;;

Printf.printf "The current date is %04d-%02d-%02d\n"
    year month day;;

討論

  • 理解 Unix.localtimeUnix.time Unix.localtime 函式將從 Unix.time 取得的時間戳記(返回自 Unix 紀元以來的目前時間)轉換為本地時間,並以 tm 結構表示。此結構包含 tm_yeartm_montm_mday 等欄位,分別代表年、月和日。
  • 月份和年份調整: 在 OCaml 的 Unix 模組中,月份是以零為索引(0 代表一月,11 代表十二月),而年份是自 1900 年以來的年數。請不要忘記調整這些值以取得人類可讀的日期。
  • 替代函式庫: 若要執行更複雜的日期時間操作,請考慮使用像是 calendartimedesc 等外部函式庫,它們提供更多功能,如時區處理和日期算術。

食譜無法運作?註解不清楚或過時?

開啟一個議題為此食譜貢獻