我正在尝试使用
更改日期格式的字符串date -d '180617' +%d-%m-%y
但我得到的输出是
17-06-18
它应该 18-06-17
同样使用
date -d '180617' +%d-%m-%Y
输出 17-06-2018
为什么每天都会改变年份,反之亦然?
就我而言, 文件中的日期采用以下格式,即日期+%d%m%y%H%M%S 。因为我无法更改所有传入文件的字符串格式。
如何将上述日期放在日期格式中。
例如。对于字符串' 150617230001' 我希望日期为' 15-06-2017'
答案 0 :(得分:3)
你误解了date命令中的选项格式。
date -d“format”应如下所示:
date -d "yymmdd"
这就是为什么,您的日期会以您的格式成为年份。
date -d '170618' +%d-%m-%y
这为您提供了正确的输出。
到目前为止,您无法更改脚本中的格式,在评论中说,这是您需要的代码。
date -d `date +%d%m%y%H%M%S | cut -c1-6| sed -E "s/(..)(..)(..)/\3\2\1/g"` +%d-%m-%y
这会在你的可能性之后改变格式..
18-06-17