更改日期格式 date -d '180617' +%d-%m-%Y in Shell
Changing date format date -d '180617' +%d-%m-%Y in Shell
我正在尝试使用
更改日期格式的字符串
date -d '180617' +%d-%m-%y
但我得到的输出是
17-06-18
而应该是 18-06-17
同样使用
date -d '180617' +%d-%m-%Y
输出为17-06-2018
为什么将日更改为年,反之亦然?
就我而言,
文件中的日期采用以下格式,即 date +%d%m%y%H%M%S。因为我无法更改所有传入文件的字符串格式。
如何把上面的日期变成日期格式。
例如。对于字符串 '150617230001'
我希望日期为“15-06-2017”
你误解了日期命令中的选项格式。
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/(..)(..)(..)//g"` +%d-%m-%y
这会根据您的可能性更改格式..
18-06-17
我正在尝试使用
更改日期格式的字符串date -d '180617' +%d-%m-%y
但我得到的输出是
17-06-18
而应该是 18-06-17
同样使用
date -d '180617' +%d-%m-%Y
输出为17-06-2018
为什么将日更改为年,反之亦然?
就我而言, 文件中的日期采用以下格式,即 date +%d%m%y%H%M%S。因为我无法更改所有传入文件的字符串格式。
如何把上面的日期变成日期格式。
例如。对于字符串 '150617230001' 我希望日期为“15-06-2017”
你误解了日期命令中的选项格式。
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/(..)(..)(..)//g"` +%d-%m-%y
这会根据您的可能性更改格式..
18-06-17