Pas*_*mer 0 bash time timestamp
我正在尝试将描述时间间隔的字符串转换为相应的秒数.
经过一些实验,我发现我可以date像这样使用:
soon=$(date -d '5 minutes 10 seconds' +%s); now=$(date +%s)
echo $(( $soon-$now ))
Run Code Online (Sandbox Code Playgroud)
但我认为应该有一种更简单的方法将"5分10秒"等字符串转换为相应的秒数,在本例中为310. 有没有办法在一个命令中执行此操作?
注意:虽然可移植性很有用,但这不是我的首要任务.
你可以从纪元开始
date -d"1970-01-01 00:00:00 UTC 5 minutes 10 seconds" "+%s"
310
Run Code Online (Sandbox Code Playgroud)
你也可以很容易地分时
Time="1 day"
date -d"1970-01-01 00:00:00 UTC $Time" "+%s"
86400
Run Code Online (Sandbox Code Playgroud)