我有两个变量 $sunrise
=" 7:23 am"和 $sunset
=" 6:10 pm"。我需要将它们两个转换为今天的时代等效词:
secSunrise=($date ... "$sunrise" ... +"%s")
secSunset=$(date ... "$sunset" ... +"%s")
到目前为止,我唯一想出的是使用当前日期时间:
$ secNow=$(date +"%s")
$ echo $secNow
1488331535
如何将这个圆圈平衡并插入HH:MM am/pm
12小时格式的变量中 date
命令?
您可以以这种方式使用GNU date
:
date --date="7:23 am today" +%s
# output => 1488352980
date --date="6:10 pm today" +%s
# output => 1488391800
-
%s
打印epoch
来自man date
:
--date=STRING
是一种最免费格式的人类可读日期字符串 例如"Sun, 29 Feb 2004 16:21:42 -0800"
或"2004-02-29 16:21:42"
或 甚至"next Thursday"
。日期字符串可能包含指示的项目 日历日期,一天中的时间,时区,一周中的一天,相对时间, 相对日期和数字。一个空字符串指示开始 一天。日期字符串格式比容易 在此处记录,但在信息文档中进行了充分描述。