如何将特定格式的字符串转换为日期/秒shell脚本linux

时间:2018-04-25 07:47:55

标签: linux bash shell date

我需要将%y/%m/%d %H:%M:%S(例如18/04/25 16:04:00)的字符串转换为秒。

date -d "18/04/25 16:04:00" "+%s"会导致格式无效,但date -d "04/25/2018 16:04:00" "+%s"会给出正确的结果。

是否可以像18/04/25 16:04:00OS X中那样指定字符串的格式(即date -j -f '%y/%m/%d %H:%M:%S' '18/04/25 16:04:00' +'%s')?

1 个答案:

答案 0 :(得分:1)

您可以在字符串的开头添加世纪,以使其在gnu date中运行:

dt="18/04/25 16:04:00"
date -d "$(date '+%C')$dt" '+%s'

1524686640

$(date '+%C')将返回当前世纪,即20