bash date: 无效日期,无效转换
bash date: invalid date, invalid conversion
#!/bin/bash
DOM="onet.pl wp.pl"
for d in $DOM
do
echo -n "$d - "
whois $d | egrep -i 'Expiration|Expires on' | head -1
# If you need list..
whois $d | egrep -i 'Expiration|Expires on' | head -1 >> /tmp/domain.date
expdate="$(whois $d | egrep -i 'Expiration|Expires on' | head -1)"
#to seconds
expdate="$(date -d"$expdate" +%s)"
#current date
curdate="$(date +%s)"
printf "Expiration date : $expdate\n"
printf "Current date : $curdate\n"
printf "Days for expiration : %s\n" "$(((expdate-curdate)/86400))"
echo ""
done
我得到这样的结果:
onet.pl - option expiration date: 2019.08.16 16:52:03
date: invalid date ‘option expiration date: 2019.08.16 16:52:03’
Expiration date :
Current date : 1524210803
Days for expiration : -17641
wp.pl - option expiration date: 2020.02.10 10:51:12
date: invalid date ‘option expiration date: 2020.02.10 10:51:12’
Expiration date :
Current date : 1524210803
Days for expiration : -17641
看来日期格式有问题,我是那可能是因为文本+日期而不是纯日期。因此,我相信其余部分无法正常工作。任何想法如何使到期日期有效?
知道了!删除到期日期中的 .
(点)。所以这样做:
#!/bin/bash
expiration_date="2019.08.16 16:52:03"
date -d"$(echo $expiration_date | tr -d '.')" +%s
结果命令是:
date -d"20190816 16:52:03" +%s
这是有效的并且被 date -d 正确使用。
这对我有用 date (GNU coreutils) 8.25,在 Linux Mint 18 和 date (GNU coreutils) 8.4 在 RHEL7 上。
#!/bin/bash
DOM="onet.pl wp.pl"
for d in $DOM
do
echo -n "$d - "
whois $d | egrep -i 'Expiration|Expires on' | head -1
# If you need list..
whois $d | egrep -i 'Expiration|Expires on' | head -1 >> /tmp/domain.date
expdate="$(whois $d | egrep -i 'Expiration|Expires on' | head -1)"
#to seconds
expdate="$(date -d"$expdate" +%s)"
#current date
curdate="$(date +%s)"
printf "Expiration date : $expdate\n"
printf "Current date : $curdate\n"
printf "Days for expiration : %s\n" "$(((expdate-curdate)/86400))"
echo ""
done
我得到这样的结果:
onet.pl - option expiration date: 2019.08.16 16:52:03
date: invalid date ‘option expiration date: 2019.08.16 16:52:03’
Expiration date :
Current date : 1524210803
Days for expiration : -17641
wp.pl - option expiration date: 2020.02.10 10:51:12
date: invalid date ‘option expiration date: 2020.02.10 10:51:12’
Expiration date :
Current date : 1524210803
Days for expiration : -17641
看来日期格式有问题,我是那可能是因为文本+日期而不是纯日期。因此,我相信其余部分无法正常工作。任何想法如何使到期日期有效?
知道了!删除到期日期中的 .
(点)。所以这样做:
#!/bin/bash
expiration_date="2019.08.16 16:52:03"
date -d"$(echo $expiration_date | tr -d '.')" +%s
结果命令是:
date -d"20190816 16:52:03" +%s
这是有效的并且被 date -d 正确使用。
这对我有用 date (GNU coreutils) 8.25,在 Linux Mint 18 和 date (GNU coreutils) 8.4 在 RHEL7 上。