Bash
如何在 Linux shell 中表示“2015120”中的日期格式?
我的同事正在生成具有先前日期格式的日誌文件,例如
2015120
,它表示一月1
而不是01
。我用來處理此類問題的常用方法是使用
date
command.Likedate +'%Y%m%d'
。但是我使用日期命令,結果他們沒有提到沒有前面的 0 代表一月。所以我想知道是否有另一種方式來表示
2015120
Linux 中的日期?
對於 GNU、FreeBSD 或 OS/X
date
(或date
使用系統的 GNU 的實現libc
)strftime()
,在防止數字欄位被零填充之後libc
添加連字元:-``%
$ date +'%Y%-m%d' 2015120
從GNU 系統上的man 日期開始:
預設情況下,日期用零填充數字欄位。以下可選標誌可能跟在 `%’ 後面:
-(連字元)不要填充欄位
如果您的系統
date
不支持,您可以使用perl
:$ perl -MTime::Piece -e ' $t = localtime; print $t->year, $t->mon, $t->mday; ' 2015122