使用标准库获取今日日期
任务
日期和时间 / 获取今日日期
未使用任何包
此食谱仅使用 OCaml 标准库。代码
unix
库与 OCaml 的标准库一起提供,用于处理日期和时间的功能。
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.localtime
和Unix.time
:Unix.localtime
函数将从Unix.time
获取的时间戳(返回自 Unix 纪元以来的当前时间)转换为本地时间,由tm
结构表示。此结构包含诸如tm_year
、tm_mon
和tm_mday
等字段,分别表示年份、月份和日期。 - 月份和年份调整:在 OCaml 的
Unix
模块中,月份从 0 开始(0 表示 1 月,11 表示 12 月),年份是从 1900 年开始算起的年数。请务必调整这些值以获得人类可读的日期。 - 替代库:对于更复杂的日期时间操作,请考虑使用外部库,例如
calendar
或timedesc
,它们提供了更多功能,例如时区处理和日期运算。