从古老的日志中读取,日期是这样的:
Wed 31 Oct 2018 08:42:00 AM UTC
另一个日期是这样的:
12-10-2018 14:37:42
这是date -r ${fname} "+%m-%d-%Y %H:%M:%S"
所能提供的最好的结果。
是否可以比较这些日期?每天首先使用一个单词的事实严重挫败了我。如果是,怎么办?
答案 0 :(得分:2)
如果日期遵循x0A
模式,则比较起来容易得多,因为普通的旧字符串比较有效:
ymdHMS
答案 1 :(得分:1)
如果以上述格式获取日期,则需要转换第二个数据字符串,以使其首先可以由Unix date
命令解析。这是一个示例:
#!/usr/bin/env bash
dt1='Wed 31 Oct 2018 08:42:00 AM UTC'
dt2='12-10-2018 14:37:42'
dt2=$(sed -E 's/^([0-9]{2}-[0-9]{2})-([0-9]{4})/\2-\1/' <<< "$dt2")
echo "$dt2" # 2018-12-10 14:37:42
# compare EPOCH second values of both dates
if (( $(date -d "$dt1" '+%s') < $(date -d "$dt2" '+%s') )); then
echo "date1 is less than date2"
else
echo "date1 is >= than date2"
fi
答案 2 :(得分:-1)
例如,可以通过创建日期对象的新实例来比较两个日期。
var date1 = new Date('Wed 31 Oct 2018 08:42:00 AM UTC');
var date2 = new Date('12-10-2018 14:37:42');
这会将其转换为默认日期格式。