日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux在shell中获取系统时间,linux在shell中获取时间

發布時間:2024/9/30 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux在shell中获取系统时间,linux在shell中获取时间 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

獲得當天的日期

date?+%Y-%m-%d

輸出:?2011-07-28

將當前日期賦值給DATE變量

DATE=$(date?+%Y%m%d)

有時候我們需要使用今天之前或者往后的日期,這時可以使用date的?-d參數

獲取明天的日期

date?-d?next-day?+%Y%m%d

獲取昨天的日期

date?-d?last-day?+%Y%m%d

獲取上個月的年和月

date?-d?last-month?+%Y%m

獲取下個月的年和月

date?-d?next-month?+%Y%m

獲取明年的年份

date?-d?next-year?+%Y

下面是一些date參數的說明和一些例子

名稱?:?date

使用權限?:?所有使用者

使用方式?:?date?[-u]?[-d?datestr]?[-s?datestr]?[--utc]?[--universal]?[--date=datestr]?[--set=datestr]?[--help]?[--version]?[+FORMAT]?[MMDDhhmm[[CC]YY][.ss]]

說明?:?date?能用來顯示或設定系統的日期和時間,在顯示方面,使用者能設定欲顯示的格式,格式設定為一個加號后接數個標記,其中可用的標記列表如下?:

時間方面?:

%?:?印出

%?%n?:?下一行

%t?:?跳格

%H?:?小時(00..23)

%I?:?小時(01..12)

%k?:?小時(0..23)

%l?:?小時(1..12)

%M?:?分鐘(00..59)

%p?:?顯示本地?AM?或?PM

%r?:?直接顯示時間?(12?小時制,格式為?hh:mm:ss?[AP]M)

%s?:?從?1970?年?1?月?1?日?00:00:00?UTC?到目前為止的秒數?%S?:?秒(00..61)

%T?:?直接顯示時間?(24?小時制)

%X?:?相當于?%H:%M:%S

%Z?:?顯示時區

日期方面?:

%a?:?星期幾?(Sun..Sat)

%A?:?星期幾?(Sunday..Saturday)

%b?:?月份?(Jan..Dec)

%B?:?月份?(January..December)

%c?:?直接顯示日期和時間

%d?:?日?(01..31)

%D?:?直接顯示日期?(mm/dd/yy)

%h?:?同?%b

%j?:?一年中的第幾天?(001..366)

%m?:?月份?(01..12)

%U?:?一年中的第幾周?(00..53)?(以?Sunday?為一周的第一天的情形)

%w?:?一周中的第幾天?(0..6)

%W?:?一年中的第幾周?(00..53)?(以?Monday?為一周的第一天的情形)

%x?:?直接顯示日期?(mm/dd/yy)

%y?:?年份的最后兩位數字?(00.99)

%Y?:?完整年份?(0000..9999)

若是不以加號作為開頭,則表示要設定時間,而時間格式為?MMDDhhmm[[CC]YY][.ss],

其中?MM?為月份,

DD?為日,

hh?為小時,

mm?為分鐘,

CC?為年份前兩位數字,

YY?為年份后兩位數字,

ss?為秒數

把計?:

-d?datestr?:?顯示?datestr?中所設定的時間?(非系統時間)

--help?:?顯示輔助訊息

-s?datestr?:?將系統時間設為?datestr?中所設定的時間

-u?:?顯示目前的格林威治時間

--version?:?顯示版本編號

例子?:

顯示時間后跳行,再顯示目前日期?:?date?+%T%n%D

顯示月份和日數?:?date?+%B?%d

顯示日期和設定時間(12:34:56)?:?date?--date?12:34:56

設置系統當前時間(12:34:56):date?--s?12:34:56

注意?:?當你不希望出現無意義的?0?時(比如說?1999/03/07),則能在標記中插入?-?符號,比如說?date?+%-H:%-M:%-S?會把時分秒中無意義的?0?給去掉,像是原本的?08:09:04?會變為?8:9:4。另外,只有取得權限者(比如說?root)才能設定系統時間。?當你以?root?身分更改了系統時間之后,請記得以?clock?-w?來將系統時間寫入?CMOS?中,這樣下次重新開機時系統時間才會持續抱持最新的正確值。

ntp時間同步

linux系統下默認安裝了ntp服務,手動進行ntp同步如下

ntpdate?ntp1.nl.net

當然,也能指定其他的ntp服務器

-------------------------------------------------------------------

擴展功能

date?工具可以完成更多的工作,不僅僅只是打印出當前的系統日期。您可以使用它來得到給定的日期究竟是星期幾,并得到相對于當前日期的相對日期。了解某一天是星期幾

GNU?對?date?命令的另一個擴展是?-d?選項,當您的桌上沒有日歷表時(UNIX?用戶不需要日歷表),該選項非常有用。使用這個功能強大的選項,通過將日期作為引號括起來的參數提供,您可以快速地查明一個特定的日期究竟是星期幾:

$?date?-d?"nov?22"

Wed?Nov?22?00:00:00?EST?2006

$

在本示例中,您可以看到今年的?11?月?22?日是星期三。

所以,假設在?11?月?22?日召開一個重大的會議,您可以立即了解到這一天是星期三,而這一天您將趕到駐地辦公室。

獲得相對日期

d?選項還可以告訴您,相對于?當前日期若干天的究竟是哪一天,從現在開始的若干天或若干星期以后,或者以前(過去)。通過將這個相對偏移使用引號括起來,作為?-d?選項的參數,就可以完成這項任務。

例如,您需要了解兩星期以后的日期。如果您處于?Shell?提示符處,那么可以迅速地得到答案:

$?date?-d?’2?weeks’

關于使用該命令,還有其他一些重要的方法。使用?next/last指令,您可以得到以后的星期幾是哪一天:

$?date?-d?’next?monday’?(下周一的日期)

$?date?-d?next-day?+%Y%m%d(明天的日期)或者:date?-d?tomorrow?+%Y%m%d

$?date?-d?last-day?+%Y%m%d(昨天的日期)?或者:date?-d?yesterday?+%Y%m%d

$?date?-d?last-month?+%Y%m(上個月是幾月)

$?date?-d?next-month?+%Y%m(下個月是幾月)

使用?ago?指令,您可以得到過去的日期:

$?date?-d?’30?days?ago’?(30天前的日期)

您可以使用負數以得到相反的日期:

$?date?-d?’dec?14?-2?weeks’?(相對:dec?14這個日期的兩周前的日期)

$?date?-d?’-100?days’?(100天以前的日期)

$?date?-d?’50?days’(50天后的日期)

這個技巧非常有用,它可以根據將來的日期為自己設置提醒,可能是在腳本或?Shell?啟動文件中,如下所示:

DAY=`date?-d?’2?weeks’?+"%b?%d"`

if?test?"`echo?$DAY`"?=?"Aug?16";?then?echo?’Product?launch?is?now?two?weeks?away!’;?fi

##############################

unix?shell中的日期格式轉換

$?t_t="Jul?1?21:29"

$?date?"+%G-%m-%d?%H:%M:%S"?-d?"$t_t"?#?$t_t的格式是比較隨意的

2008-07-01?21:29:00

$?date?+%b/%d/%G?-d?"2008-07-01"

Jul/01/2008

unix?shell中的日期之間間隔的天數

$?expr?'('?$(date?+%s?-d?"2008-07-02")?-?$(date?+%s?-d?"2008-05-30")?')'?/?86400

33

##存在bcdate的話,可以直接使用。

shell中日期加減指定間隔單位

增加36小時:

$?a=`date?+%Y-%m-%d`

$?b=`date?+%Y-%m-%d?-d?"$a?+36?hours"`

10天前:

$?date?-d?"$a?-10?days"

Sun?Jun?22?00:00:00?CST?2008

以指定格式顯示文件更改后最后日期,如yyyy-mm-dd?hh24:mi:ss

$?date?"+%Y-%m-%d?%H:%M:%S"?-r?test.bak

2008-07-01?21:28:55

總結

以上是生活随笔為你收集整理的linux在shell中获取系统时间,linux在shell中获取时间的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。