1. 程式人生 > >shell獲取當前系統時間

shell獲取當前系統時間

在shell腳本里常常需要獲取系統時間來處理某項操作,今天系統的學習了一下如何獲取系統時間。記錄如下:

linux的系統時間在shell裡是可以直接呼叫系統變數的如:
獲取今天時期:`date +%Y%m%d` 或 `date +%F` 或 $(date +%y%m%d)

命令輸出結果如下:

  1. [[email protected] sh]# date +%Y%m%d 
  2. 20120727 
  3. [[email protected] sh]# date +%F 
  4. 2012-07-27 
  5. [[email protected] sh]# date +%y%m%d 
  6. 120727 


獲取昨天時期:`date -d yesterday +%Y%m%d` 也可以寫成`date -d -1day +%Y%m%d`

  1. [[email protected] sh]# date -d yesterday +%Y%m%d 
  2. 20120726 
  3. [[email protected] sh]# date -d yesterday +%F 
  4. 2012-07-26 
  5. [[email protected] sh]# date -d -1day +%y%m%d 
  6. 120726 
  7. [[email protected] sh]# date -d -1day +%Y%m%d 
  8. 20120726 


獲取前天日期:`date -d -2day +%Y%m%d`
依次類推比如獲取10天前的日期:`date -d -10day +%Y%m%d`
或n天前的 `date -d "n days ago" +%y%m%d`
明天:`date -d tomorrow +%y%m%d`
注意以上中間有空格
 

至於你需要什麼樣的日期時間格式,就需要應用相關的時間域引數來實現咯
相關時間域如下:
% H 小時(00..23)
% I 小時(01..12)
% k 小時(0..23)
% l 小時(1..12)
% M 分(00..59)
% p 顯示出AM或PM
% r 時間(hh:mm:ss AM或PM),12小時
% s 從1970年1月1日00:00:00到目前經歷的秒數
% S 秒(00..59)
% T 時間(24小時制)(hh:mm:ss)
% X 顯示時間的格式(%H:%M:%S)
% Z 時區 日期域
% a 星期幾的簡稱( Sun..Sat)
% A 星期幾的全稱( Sunday..Saturday)
% b 月的簡稱(Jan..Dec)
% B 月的全稱(January..December)
% c 日期和時間( Mon Nov 8 14:12:46 CST 1999)
% d 一個月的第幾天(01..31)
% D 日期(mm/dd/yy)
% h 和%b選項相同
% j 一年的第幾天(001..366)
% m 月(01..12)
% w 一個星期的第幾天(0代表星期天)
% W 一年的第幾個星期(00..53,星期一為第一天)
% x 顯示日期的格式(mm/dd/yy)
% y 年的最後兩個數字( 1999則是99)
% Y 年(例如:1970,1996等)
注意:只有超級使用者才有許可權使用date命令設定時間,一般使用者只能使用date命令顯示時間。

新增一個練習指令碼,功能:

在每月第一天備份並壓縮/etc目錄的所有內容,存放在/root/bak目錄裡,且檔名為如下形式yymmdd_etc,yy為年,mm為月,dd為日。Shell程式fileback存放在/usr/bin目錄下。

  1. #/bin/bash 
  2. #filebak 
  3. #file executable: chmod 755 filebak 
  4. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin 
  5. export PATH 
  6. bakdir="/root/bak/"
  7. filename="`date +%y%m%d`_etc.tar.gz"
  8. if [ ! -x "$bakdir" ];then
  9. mkdir $bakdir 
  10. fi 
  11. cd $bakdir 
  12. tar cvfz $filename /etc

 或使用crontab -e 命令新增定時任務:0 1 * * * /bin/sh /usr/bin/fileback

相關推薦

shell獲取當前系統時間

在shell腳本里常常需要獲取系統時間來處理某項操作,今天系統的學習了一下如何獲取系統時間。記錄如下: linux的系統時間在shell裡是可以直接呼叫系統變數的如: 獲取今天時期:`date +%Y%m%d` 或 `date +%F` 或 $(date +%y%m%d)

JAVA中獲取當前系統時間

arch tac 獲取 -m simple 得到 轉化 sel stack 一. 獲取當前系統時間和日期並格式化輸出: import java.util.Date;import java.text.SimpleDateFormat; public class NowStri

JAVA獲取當前系統時間System.currentTimeMillis()

log time 格式 formatter simple 但是 計算 之間 自己 System.currentTimeMillis()產生一個當前的毫秒,這個毫秒其實就是自1970年1月1日0時起的毫秒數,Date()其實就是相當於Date(System.currentTi

java---獲取當前系統時間--納秒

系統時間 star pretty 開始 min gpo post java pan long startTime = System.nanoTime(); //開始時間 //這裏寫操作 //消耗時間 long consumingTime = System.na

c#獲取當前系統時間,並提取按格式提取年月日為字符串

sta ogr mon 系統 ram AR 當前系統時間 ren 獲取 class Program { static void Main(String[] args) { DateTime currentTi

獲取當前系統時間工具類TimeUtils

string public date() new edate 當前 com strong alt TimeUtils: package com.duocy.util; import java.time.LocalDateTime;import java.time.f

獲取當前系統時間的前一天,後一天

獲取當前系統前一天日期 public static Date getYesterday(Date date) {         Calendar calendar = Calendar.getInstance

C C++如何獲取當前系統時間

C庫中與系統時間相關的函式定義在<time.h>標頭檔案中, C++定義在<ctime>標頭檔案中。 一、time(time_t*)函式 函式定義如下: time_t time (time_t* timer);

Jmeter入門12 __time函式 jmeter獲取當前系統時間

有的介面要傳遞當前的日期或時間,可以用__time()函式獲取當前時間 ${__time()} 當前時間到計算機元年的毫秒數 ${__time(時間格式)}  以預定的格式顯示當前時間    請求示例:   __time(時間格式)&nbs

js獲取當前系統時間的前幾小時、天、周、月、年

 **.js $(function(){ }); var oneJsTest={ //以當前系統時間作為結束時間,return不同時間範圍de開始時間 reqShebeiDataByShebeiAndTimeQueryByDifferentTime:func

jq獲取當前系統時間

//格式:2018-10-08 16:21:25 var d = new Date(); var vYear = d.getFullYear() var vMon = d.getMonth() + 1 var vDay = d.getDate(); var h = d.ge

jquery獲取當前系統時間/當前系統第二天時間/當前系統第三天時間

/**載入日期*/     function quickInputCustDateTimePicker(){         /** 獲取當前系統時間 */      &

獲取當前系統時間兩小時後和四小時後,蘋果瀏覽器報錯NaN,或者Invalid Date,

    <script type="text/javascript" src="js/libs/jquery.min.js"></script>    <script type="text/javascript" src="j

DataTime獲取當前系統時間大全

在c# / ASP.net中我們可以通過使用DataTime這個類來獲取當前的時間。通過呼叫類中的各種方法我們可以獲取不同的時間:如:日期(2008-09-04)、時間(12:12:12)、日期+時間(2008-09-04 12:11:10)等。

c++獲取當前系統時間並格式化輸出

#include <string> #include <time.h> using namespace std; string getTime() { time_t timep; time (&timep); char

獲取當前系統時間戳的方法

1、第一種方式     NSDate* dat = [NSDatedateWithTimeIntervalSinceNow:0]; NSTimeInterval a=[dat timeInterval

java 獲取當前系統時間 時間比較

方法一: DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");  String dateBegin=fmt.format(carrierCommand.getDateBegin());  String dateEnd=fmt.format(carrierC

Linux shell 獲取當前日期/時間

當前日期 [[email protected] DFJR-ERP]# cur_date=”date +%Y-%m-%d” [[email protected] DFJR-E

java中獲取當前系統時間,日期並格式化輸出

 一. 獲取當前系統時間和日期並格式化輸出: import java.util.Date; import java.text.SimpleDateFormat; public class NowString {    public static void main(String[] args) {     

Linux下用C獲取當前系統時間

#include   <time.h> time_t   time(time_t   calptr); 返回的是日曆時間,即國際標準時間公元1970年1月1日00   :   00   :   00以來經過的秒數。然後再呼叫 char   *ctime(const