Linux date 命令獲取某日期的前一天

2021-09-02 10:06:39 字數 594 閱讀 6763

date -d "20150303 -1day" +%y%m%d  

date -d "+2 month 20131231" +%y%m%d  #獲得2023年12月31日以後2個月的日期

這是最簡單的做法

稍微看一下 date 命令,就發現利用它可以很方便的寫出乙個非常 stable 的函式。date 可以通過 -d 指定乙個日期,然後用指定的格式輸出。-d 不僅可以接受 「2009-03-01″ 或者 yesterday 這樣的格式,還可以接受乙個從 1970 年開始至今的秒數,當然也可以指定日期輸出這樣的秒數。如:

以下是**片段:

# date +%s

1252591191

# date -d @1252591191 +%f

2009-09-10

這樣,事情就變得很簡單了。先用 date 命令將該日期轉換成秒數,減去一天的秒數 86400,然後再轉化成正常易讀的日期格式,就可以了,不需要考慮複雜的大小月以及閏年問題。以下是簡單的例子:

以下是**片段:

#!/bin/sh  

function get_day_before   

get_day_before $1

linux date 命令詳解

linux date 命令詳解 使用方式 date u d datestr s datestr utc universal date datestr set datestr help version format mmddhhmm cc yy ss 說明 date 可以用來顯示或設定系統的日期與時間...

Linux date 命令使用

date命令 date命令的功能是顯示和設定系統日期和時間。該命令的一般格式為 date 選項 顯示時間格式 以 開頭,後面接格式 date 設定時間格式 命令中各選項的含義分別為 d datestr,date datestr 顯示由datestr描述的日期 s datestr,set datest...

linux date命令詳解

linux date 命令詳解 使用方式 date u d datestr s datestr utc universal date datestr set datestr help version format mmddhhmm cc yy ss 說明 date 可以用來顯示或設定系統的日期與時間...