1. date -d操作
date +"%y%m%d
" -d "
+n days
"#今天的後n天日期
date +"
%y%m%d
" -d "
-n days
" #今天的前n天日期
2. 常用日期格式輸出
date +"%f" #輸出: 2012-06-08
date +"
%d" #輸出: 06/08/12
date +"
%y%m%d %h:%m:%s
" #輸出: 20120608
04:52:28
date +"
%y%m%d
" #輸出: 20120608
date +"
%y%m%d %h:%m:%s
" -d "
+1 hours
" #輸出: 20120608
05:52:43
date +"
%y%m%d %h:%m:%s
" -d "
+1 days
" #輸出: 20120609
04:52:52
date +"
%y%m%d %h:%m:%s
" -d "
+1 months
" #輸出: 20120708
04:52:56
date +"
%y%m%d %h:%m:%s
" -d "
+1 years
" #輸出: 20130608
04:53:07
date +"
%t" #輸出: 05:03:21
date +"
%f %t
" #輸出: 2012-06-08
05:03:34
date +"
%d %t
" #輸出: 06/08/12
05:03:39
3. 日期格式轉換
# 字串轉時間戳date -d "
2010-10-18 00:00:00
" +%s #輸出:1287331200
# 時間戳轉字串
date -d @1287331200
"+%y-%m-%d
" #輸出:2010-10-18
# 獲取指定日期的後n天,如果是前n天,則第二部中間是 -
步驟1:得到時間戳 seconds=`date -d "
2010-10-18 00:00:00
" +%s`
步驟2:加上n天的秒數86400*n seconds_new=`expr $seconds + 86400*n`
步驟3:獲得指定日前加上一天的日前 date_new=`date -d @$seconds_new "
+%y-%m-%d
"`
4. 獲取上月末和最近一年的日期
dt_curr=20190322#當月初
dt=`date -d"
$ -0 days""
+%y%m01
"`
#去年今月初
dt_lastyear=`date -d"
$ -1 years""
+%y%m01"`
#上月末
lastday=`date -d "
$ -1 day""
+%y%m%d"`
#去年今月末
lastday_lastyear=`date -d "
$ -1 day""
+%y%m%d
"`
dt: 20190301
dt_lastyear: 20180301
lastday: 20190228
lastday_lastyear: 20180228
shell中日期時間操作
使用許可權 所有使用者 使用方式 date u d datestr s datestr utc universal date datestr set datestr help version format mmddhhmm cc yy ss 說明 date 能用來顯示或設定系統的日期和時間,在顯示方...
sql中日期操作
1.看到乙個帖子,裡面日期操作函式挺多,方法技巧也挺好,學習了。declare s date select s 2012 01 01 定義開始日期 select cast datepart yy,dateadd dd,number,s as varchar 4 年 cast datepart mm,...
linux的shell中,日期格式校驗
在shell裡對日期格式,有效性的檢查,在網上搜了一下,對有效性檢查,很多都是借助cal命令的輸出,來檢查日期是否有效,比如 這樣 cal 2 2008 grep q 29 echo ok echo error 道理就是把年月日拆分開,在cal的某年某月的輸出中去找日期,但仔細想一下,這種方法有問題...