在 UNIX 中如何将日期字符串转换为纪元毫秒:
19-FEB-12
16-FEB-12
05-AUG-09
我需要这个来将这些日期与服务器上的当前时间进行比较。
最佳答案
将日期转换为自纪元以来的秒数:
date --date="19-FEB-12" +%s
当前纪元:
date +%s
所以,因为你的日期是过去的:
NOW=`date +%s`
THEN=`date --date="19-FEB-12" +%s`
let DIFF=$NOW-$THEN
echo "The difference is: $DIFF"
使用 BSD 的 date
命令,您需要
$ date -j -f "%d-%B-%y" 19-FEB-12 +%s
与 GNU date
的区别:
-j
阻止date
尝试设置时钟- 输入格式必须用
-f
明确设置 - 输入日期是一个常规参数,而不是一个选项(即
-d
) - 当日期没有指定时间时,使用当前时间代替 午夜。
关于bash - 如何在 UNIX 中将 "19-FEB-12"之类的字符串转换为纪元日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14805591/