你要找的是 date --date='06/12/2012 07:21:22' +"%s"。请记住,这里假设您使用的是 GNU coreutils,因为 --date和 %s格式字符串都是 GNU 扩展。POSIX 没有指定这两者中的任何一个,因此即使在符合 POSIX 的系统上也没有进行这种转换的可移植方法。
Consult the appropriate manual page for other versions of date.
RESULTS:
original = Apr 28 07:50:01
epoch conv = 1524916201
epoch to human readable time stamp = 20180428_075001
或者作为一种功能:
# -- Converts from human to epoch or epoch to human, specifically "Apr 28 07:50:01" human.
# typeset now=$(date +"%s")
# typeset now_human_date=$(convert_cron_time "human" "$now")
function convert_cron_time() {
case "${1,,}" in
epoch)
# human to epoch (eg. "Apr 28 07:50:01" to 1524916201)
echo $(date -d "${2}" +"%s")
;;
human)
# epoch to human (eg. 1524916201 to "Apr 28 07:50:01")
echo $(date -d "@${2}" +"%b %d %H:%M:%S")
;;
esac
}