如何将 bash 字符串转换为日期格式?
How to convert a bash string to date format?
我有一个 bash 字符串 20220416124334
(该字符串不是纪元),我想将其转换为日期格式,因此它应该如下所示:2022/04/16 12:43:34
我试过:
[manjaro@manjaro ~]$ date -d '20220416124334' "+%Y/%m/%d %H:%M:%S"
date: invalid date ‘20220416124334’
我应该如何正确操作?
我希望在您使用 date
命令时使用它,并使用一个数字表示自纪元以来的秒数。您的电话号码似乎是格式化日期 yyyymmddhhmiss
.
如果您不需要验证表示格式化日期的字符串,那么您可以使用 sed
插入额外的格式字符:
echo '20220416124334' | sed -E 's/(....)(..)(..)(..)(..)(..)/\/\/ ::/'
如果您最终将自 epoch 以来的秒数作为输入,那么请这样做,请记住,数字表示一年中不同时间不同时区的不同时间(眼珠):
date -u -r 1650113014 "+%Y/%m/%d %H:%M:%S"
我有一个 bash 字符串 20220416124334
(该字符串不是纪元),我想将其转换为日期格式,因此它应该如下所示:2022/04/16 12:43:34
我试过:
[manjaro@manjaro ~]$ date -d '20220416124334' "+%Y/%m/%d %H:%M:%S"
date: invalid date ‘20220416124334’
我应该如何正确操作?
我希望在您使用 date
命令时使用它,并使用一个数字表示自纪元以来的秒数。您的电话号码似乎是格式化日期 yyyymmddhhmiss
.
如果您不需要验证表示格式化日期的字符串,那么您可以使用 sed
插入额外的格式字符:
echo '20220416124334' | sed -E 's/(....)(..)(..)(..)(..)(..)/\/\/ ::/'
如果您最终将自 epoch 以来的秒数作为输入,那么请这样做,请记住,数字表示一年中不同时间不同时区的不同时间(眼珠):
date -u -r 1650113014 "+%Y/%m/%d %H:%M:%S"