0%

如何取得昨天的日期

緣起

在 linux 中要以 shell 指令取得系統日期、時間算是基本語法(大概是像下面這樣)

1
2
$ date
Fri Nov 20 15:28:05 CST 2015

如果想要擷取部份或是自己的型式可以用

1
2
3
4
$ date '+%Y%m%d%H%M%S'
20151120152959
$ date '+%Y%m%d'
20151120

但如果要擷取的非今天的日期,在傳統 unix 上面可就有點麻煩了,可能必須用些工具或是自己寫程式來運算。而在 linux 版本的 date 中可以運用一些指令來對於結果做一些簡單的運算

直接看範例了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#取得昨天的日期時間
$ date -d'-1 day' #或 date -d'1 day ago'
Thu Nov 19 15:35:26 CST 2015

#取得明天的日期
$ date -d'1 day'
Sat Nov 21 15:36:59 CST 2015

#取得上個月的日期
$ date -d'-1 month'
Tue Oct 20 15:37:41 CST 2015

#取得上星期的日期
$ date -d'-1 week'
Fri Nov 13 15:37:56 CST 2015

但這時候如果想要移動同時又要自訂格式

1
2
3
# 取得昨天的自訂格式日期
$ date -d '-1 day' '+%Y%m%d'
20151119

其他的依此類推囉

本篇參考

http://eit.tw/IomMPP