bash – 如何在UNIX中将“19-FEB-12”等字符串转换为纪元日期

在UNIX中如何转换为epoch毫秒日期字符串,如:
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日期的差异:

> -j防止日期尝试设置时钟>必须使用-f显式设置输入格式>输入日期是常规参数,而不是选项(即-d)>如果没有指定日期时间,请改用当前时间午夜

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...