獲取時間日期格式和延時 date sleep

2021-07-12 05:15:35 字數 2172 閱讀 4195

很多shell指令碼裡面需要列印不同格式的時間或日期,以及要根據時間和日期執行操作。延時通常用於指令碼執行過程中提供一段等待的時間。日期可以以多種格式去列印,也可以使用命令設定固定的格式。在類unix系統中,日期被儲存為乙個整數,其大小為自世界標準時間(utc)2023年1月1日0時0分0秒起流逝的秒數。

date命令的功能是顯示和設定系統日期和時間。

date命令中各選項的含義分別為:

示例

#格式化輸出

$> date +"%y-%m-%d"

2009-12-07

#輸出昨天日期

$> date -d "1 day ago" +"%y-%m-%d"

2012-11-19

#2秒後輸出

$> date -d "2 second" +"%y-%m-%d %h:%m.%s"

2012-11-20 14:21.31

#傳說中的 1234567890 秒

$> date -d "1970-01-01 1234567890 seconds" +"%y-%m-%d %h:%m:%s"

2009-02-13 23:02:30

#普通轉格式

$> date -d "2009-12-12" +"%y/%m/%d %h:%m.%s"

2009/12/12 00:00.00

#apache格式轉換

$> date -d "dec 5, 2009 12:00:37 am" +"%y-%m-%d %h:%m.%s"

2009-12-05 00:00.37

#格式轉換後時間遊走

$>date -d "dec 5, 2009 12:00:37 am 2 year ago" +"%y-%m-%d %h:%m.%s"

2007-12-05 00:00.37

#加減操作

date +%y%m%d //顯示前天年月日

date -d "+1 day" +%y%m%d //顯示前一天的日期

date -d "-1 day" +%y%m%d //顯示後一天的日期

date -d "-1 month" +%y%m%d //顯示上一月的日期

date -d "+1 month" +%y%m%d //顯示下一月的日期

date -d "-1 year" +%y%m%d //顯示前一年的日期

date -d "+1 year" +%y%m%d //顯示下一年的日期

#設定時間

date -s //設定當前時間,只有root許可權才能設定,其他只能檢視

date -s 20120523 //設定成20120523,這樣會把具體時間設定成空00:00:00

date -s 01:01:01 //設定具體時間,不會對日期做更改

date -s "01:01:01 2012-05-23" //這樣可以設定全部時間

date -s "01:01:01 20120523" //這樣可以設定全部時間

date -s "2012-05-23 01:01:01" //這樣可以設定全部時間

date -s "20120523 01:01:01" //這樣可以設定全部時間

有時需要檢查一組命令花費的時間,舉例:

#!/bin/bash

start=$(date +%s)

nmap www.1987.name &> /dev/null

end=$(date +%s)

difference=$(( end - start ))

echo $difference seconds.

有時在寫一些以迴圈方式執行的監控指令碼,設定時間間隔是必不可少的,下面是乙個shell進度條的指令碼演示在指令碼中生成延時。

#!/bin/bash

b=''

for ((i=0;$i<=100;i++))

do printf "progress:[%-100s]%d%%\r" $b $i

sleep 0.1

b=#$b

done

echo

C 時間 日期格式大全

有時候我們要對時間進行轉換,達到不同的顯示效果 預設格式為 2005 6 6 14 33 34 如果要換成成200506,06 2005,2005 6 6或更多的該怎麼辦呢?我們要用到 datetime.tostring的方法 string,iformatprovider using system ...

aiml語言獲取時間,日期

關於aiml的python呼叫方法,參考 本文主要介紹如何設計.aiml檔案,輸出時間,日期.aiml內部有定以時間函式date,可以通過 date獲得函式data的輸出,通常我們還會為其定義乙個pattern,time date 這樣我們可以設計自己的pattern,而pattern的templa...

JS獲取當前時間日期

var mydate new date mydate.getyear 獲取當前年份 2位 mydate.getfullyear 獲取完整的年份 4位,1970 mydate.getmonth 獲取當前月份 0 11,0代表1月 mydate.getdate 獲取當前日 1 31 mydate.get...