亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

Linux/Unix關于時間和時間戳的命令行

2024-09-05 23:04:25
字體:
來源:轉載
供稿:網友

在日常開發中,長期是在從事后端服務器開發,也避免不了會經常和時間打交道,例如:

玩家的首次登錄時間玩家的最后登錄時間活動的開啟時間和結束時間

而這些時間在程序中的表示就是用一個數字,我們把這個數字稱為時間戳(Timestamp)。
更多的情況下,我們是用一個整型數字來表示這個時間戳。

每一個不同的整型數字都有不同的含義,他們都代表一個獨一無二的時間,例如:

0 : 代表 1970年的元旦節(1970.1.1 00:00:00 UTC) 60 : 代表 1970年元旦節剛過一分鐘(1970.1.1 00:00:60 UTC) 3600 : 代表 1970年元旦節過去一個小時了(1970.1.1 01:00:00 UTC) 43200 : 代表 1970年元旦節午餐時間到了(1970.1.1 12:00:00 UTC) 86400 : 代表 1970年元旦節過完了(1970.1.2 00:00:00 UTC)

結合上面的例子,對時間戳(Timestamp)的定義就清晰明了了,時間戳是一個數字,這個數字代表的是從1970年元旦節(1970.1.1 00:00:00)所經過(流逝)的秒數。

明確了這個概念,如果我們再看到一個數字,并且知道它就是代表一個時間戳,那我們應該會迫不及待的想把它轉換成它代表的時間。

中話

其實我只是想記錄一下Linux/Unix系統下關于date命令行工具的使用指南,不料卻回憶了一下關于時間戳的簡要概念。

事情的由來是,在很長一段時間內,我在拿到一個時間戳并且想看看這個時間戳究竟是具體的哪一天哪一年甚至于哪一分哪一秒的時候(通常在程序出現問題需要定位和時間有關的BUG的時候)。我都會習慣性的打開某搜索引擎然后輸入時間戳這個關鍵詞進行搜索,然后熟練的點擊搜索結果的第一條Unix時間戳轉換工具,直到某一天我覺得要糾正掉這個不好的習慣,我才開始試著去使用date這個Linux/Unix系統標配命令行工具去完成這個日常操作。哈哈,只能略表慚愧,我居然沒有把這個這么好用的網站給收藏到瀏覽器的頂部欄!

正題時間戳 -> 日期

和往常一樣,我在調試的過程中發現了一個可疑的時間戳,它的數值是1506787200,我需要知道這個時間戳是對應的哪個具體日期,所以我又熟練的打開了某搜索引擎輸入了時間戳........

其實我這次是打開了Mac系統終端(Terminal),然后輸入了如下命令:

date -r 1506787200

 

這個命令以最快的速度也給予了我準確的反饋輸出:

Linux,Unix,時間戳,命令行

從這一刻起,我感覺我自己終于擺脫了我的壞習慣,所以我覺得有必要多操作幾次以達到強化的目的,于是我又熟練的依次輸入了如下的命令:

date -r 0date -r 60date -r 3600date -r 43200date -r 86400

 

這些命令如饑似渴的以最快的速度分別的給予了我準確的反饋輸出:

Linux,Unix,時間戳,命令行

從這一刻起,我感覺我自己已經熟練掌握了date -r的奧義,就在我欣喜如狂之際,我的旁光突然掃描到date -r 0這個命令的輸出: 1970年 1月 1日 星期四 08時00分00秒 CST,為什么是早上8時,和我在前話中提到的0代表1970年1月1日0時0分0秒有些出入呢。

其實這是一個誤會,時間戳:0確實是代表1970年1月1日0時0分0秒,但是是代表零時區(UTC+0)的1970年1月1日0時0分0秒,還好我也是學過地理的,知道我們偉大的祖國幅員遼闊,地大物博,光時區就橫跨了5個,而且全國統一使用首都北京所在時區東八區(UTC+8)的時間。

因為我的電腦系統設置的時區是東八區的緣故,這個date命令在默認情況下也是根據系統的時區優先顯示所在時區的換算后的本地時間。以至于出現剛才的情況,虛驚一場。

為了驗證剛才的推論,我打算重新操作一次,并且加上了一個神秘的參數-u,這個參數的作用很簡單,就是以零時區(UTC+0)為標準輸出時間,輸入的命令如下:

date -u -r 0date -u -r 60date -u -r 3600date -u -r 43200date -u -r 86400

 

這些命令欣慰的以最快的速度分別的給予了我預料中的反饋輸出:

Linux,Unix,時間戳,命令行

從這一刻起,雖然我感覺到我的功力再次上了一個臺階,但在這個時候我覺得我應該稍微停頓一下我的腳步,來追憶一下往昔的時光。

很快我就進入了狀態,回想起1998年的那個夏天,7月13日的凌晨3點,法蘭西世界杯決賽法國VS巴西,一個讓多少人睡不著覺的夜晚,但卻是我第一次嘗試在這么晚的時間或者說那么早的時間去看一場足球比賽,是因為在這之前我還一直是一名作息時間規律的小學生。回憶到此,我覺得我應該做點什么,我居然想查看一下那個快20年之前的夜晚的時間戳!

日期 -> 時間戳

于是我飛快的將這個熟悉又遙遠的日期輸入到命令中:

date -j 071303001998

 

命令給予了一個輸出:

1998年 7月13日 星期一 03時00分00秒 CST#法蘭西世界杯決賽開始的北京時間

 

上面的命令中,我輸入的是date -j 071303001998,其中的-j參數代表的是不要將他后面的那個日期字符串設置為當前系統時間,而只是將它以更友好的1998年 7月13日 星期一 03時00分00秒 CST這種形式輸出。簡單點說也就是如果我不加-j參數,那么date 071303001998命令會直接把我的電腦系統的當前時間設置為1998年那個夏天的7月13日凌晨3點,而不是在屏幕上輸出那個時間。

但是我提供的071303001998這個字符串其實就是月日時分年的格式,07是7月,13是13日,03是凌晨3點,00是0分,1998是什么還用說么,我知道準確的日期,然后輸入到這個date -j 071303001998命令中,顯然不是為了讓它輸出告訴我1998年 7月13日 星期一 03時00分00秒 CST這個只是更好讀的同樣的日期,我是出于強烈的好奇想要知道這個偉大的時間的時間戳,所以我必須還要動點手腳:

date -j 071303001998 +%s

 

這次的命令只輸出了一個數字,這個數字就是我想知道的那個時間戳:

900270000

 

得到了時間戳,我又迫不及待的使用如下命令:

date -r 900270000

 

命令再一次的快速輸出了:

1998年 7月13日 星期一 03時00分00秒 CST

 

經過這一些列的操作,我不光學習到了新的參數-j,還再次溫故了-r參數的用法,更重要的是我完成了對過往美好時光的追憶,可謂一石三鳥,大快人心。

格式化

前面的命令雖然用得很溜了,但是它們的輸出都略顯冗長,雖然很智能的根據我是中文用戶給予了中文輸出的最高待遇,但我覺得很普通~ 我現在迫切的希望改變它的輸出的格式以彰顯我獨特的個性與品味,于是我又開始了我的操作,我現在顯然還沉浸在剛在的追憶中,所以我還是打算用900270000這個代表1998年夏天的7月13日凌晨3點整的這個有特殊意義的時間戳來完成我的操作:

date -r 900270000 +%Y

 

它給予了我一個簡單輸出作為回應:

1998

 

我有些小激動,仿佛找到一些竅門,繼續輸入:

date -r 900270000 +%m

 

它再次給予了我一個更簡潔的回應:

07

我更加激動,毫不猶豫的輸入:

date -r 900270000 +%d

 

它果然沒有讓我失望,給予了我預料中的回應:

13

經過三次嘗試,我嘗到了成功的滋味,我覺得這個時候應該乘勝追擊,于是我決定將%Y,%m,%d放在一起,我的第六感告訴我,我會再次獲得成功:

date -r 900270000 +%Y%m%d

 

結果顯而易見,年月日一起出現在了屏幕上:

19980713

 

我還不滿足,我想獲取更多的成就感,我想輸出的格式更加的國際化,我繼續嘗試:

date -r 900270000 +%m/%d/%Y

 

結果達到我的初步要求:

07/13/1998

 

我依然不滿足,因為我想起了王菲和那英所唱的那首紅遍大江南北的歌曲《相約98》,我覺得我也要顯示98而不是1998,在那個年代,沒有人會說1998年,所以我再次摸索并嘗試:

date -r 900270000 +%m/%d/%y

 

大寫變小寫,腐朽化神奇:

07/13/98

 

我果然還是不滿足,心里想著如果能在后面附加上具體的時間那我應該就會收手了,于是我又一氣呵成的輸入了如下命令:

date -r 900270000 +%m/%d/%y %H:%M:%S

 

心里想著就快完成這次愉快的操作之旅時,現實卻讓我嘗到了失敗的味道:

date: illegal time format

 

在最后關頭居然發生了意外著實讓我有些不太爽快,但是憑借我大學英語四級的扎實基礎,我還是從報錯信息中領悟出了一些端倪,再結合我多年的工作經驗,我感覺應該是我新增加的那段為了輸出時分秒的格式字符串%H:%M:%S所造成的。我隱約感覺到應該是它之前的那個空格導致了date命令在讀取的時候誤以為它們是兩個獨立的字符串。這種時候,按照慣例應該需要用傳說中的雙引號""將它們包圍在一起,以表示它們是一個整體。于是我重新整理了命令:

date -r 900270000 "+%m/%d/%y %H:%M:%S"

 

這次終于可以收工了,完美的輸出,完美的夜晚,再也回去不的98:

07/13/98 03:00:00

 

做個總結常用命令行 date

默認格式輸出當前日期。 date +%Y%m%d%H%M%S

自定義格式%Y%m%d%H%M%S輸出當前日期 date -r 900270000

默認格式輸出時間戳:900270000對應日期 date -r 900270000 +%Y%m%d%H%M%S

自定義格式%Y%m%d%H%M%S輸出時間戳:900270000對應日期 date -j 071303001998

默認格式輸出日期字符串:071303001998對應的日期 date -j 071303001998 +%Y%m%d%H%M%S

自定義格式%Y%m%d%H%M%S輸出日期字符串:071303001998對應的日期 date -j 071303001998 +%s

自定義格式%s輸出日期字符串:071303001998對應的日期的時間戳 格式字符串含義

注意大小寫代表完全不同的含義

%Y : 年(Year) %y : 年(year)后兩位 %m : 月(month) %d : 日(day) %H : 時(Hour) %M : 分(Minute) %S : 秒(Second) %s : 時間戳(stamp) 日期字符串默認格式

月日時分年(07 13 03 00 1998)

那些逝去的時間戳900270000 1157040000 967737600 778348800 555087600 1430136000 1461758400 1493222400 1277913600


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕国产日韩| 日韩成人中文电影| 国内精品中文字幕| 欧美人成在线视频| 亚洲老头同性xxxxx| 国产精品中文字幕久久久| 欧美日韩不卡合集视频| 日韩性xxxx爱| 日韩电影在线观看中文字幕| 亚洲香蕉av在线一区二区三区| 尤物yw午夜国产精品视频| 91亚洲精品久久久| 精品久久久久久久久久国产| 亚洲精品久久视频| 欧美在线观看www| 日韩视频在线免费| 川上优av一区二区线观看| 亚洲欧美精品一区二区| 久久久久国产精品www| 午夜精品美女自拍福到在线| 2021国产精品视频| 国产精品高潮呻吟久久av黑人| 91po在线观看91精品国产性色| 成人在线视频网站| 欧美黄色性视频| 欧美午夜影院在线视频| 美女精品视频一区| 久久久精品免费| 韩日精品中文字幕| 91精品国产一区| 欧美中文在线免费| 久久久国产一区| 色狠狠久久aa北条麻妃| 高清日韩电视剧大全免费播放在线观看| 国产精品久久婷婷六月丁香| 最新91在线视频| 韩国视频理论视频久久| 色多多国产成人永久免费网站| 久久久电影免费观看完整版| 欧美肥臀大乳一区二区免费视频| 日产精品久久久一区二区福利| 精品久久久一区| 久热99视频在线观看| 欧美激情精品久久久久久蜜臀| 精品国产一区二区三区久久久狼| 亚洲第一区中文99精品| 日韩在线视频免费观看| 国产精品 欧美在线| 日韩在线视频观看正片免费网站| 欧美电影在线观看完整版| 91国产视频在线播放| 色999日韩欧美国产| 国产啪精品视频网站| 国产成人精品免高潮费视频| 色青青草原桃花久久综合| 亚洲国产精品专区久久| 日本久久久久亚洲中字幕| 久久99热这里只有精品国产| 668精品在线视频| 久久久精品网站| 欧美性猛交xxxx乱大交极品| 亚洲天堂网在线观看| 久久影院模特热| 久久香蕉国产线看观看网| 亚洲男人天堂古典| 亚洲欧美日韩精品久久奇米色影视| 69**夜色精品国产69乱| 久久久av电影| 最近2019中文字幕一页二页| 国产成人亚洲精品| 中文字幕av一区| 亚洲综合色激情五月| 91亚洲一区精品| 91精品国产高清久久久久久91| 国产欧美最新羞羞视频在线观看| 亚洲国产精品一区二区三区| 亲爱的老师9免费观看全集电视剧| 久久久亚洲福利精品午夜| 欧美日韩成人免费| 亚洲精品欧美极品| 日韩免费在线电影| 久久精品国产亚洲精品2020| 亚洲精品免费在线视频| 精品久久久久久久久国产字幕| 日本视频久久久| 91精品国产91久久久久福利| 91系列在线观看| 久久国产精品久久久久久久久久| 成人性生交大片免费观看嘿嘿视频| 日韩中文字幕视频| 久久免费视频这里只有精品| 久久久久久尹人网香蕉| 国产一区二区欧美日韩| 亚洲黄色有码视频| 伊人av综合网| 亚洲视频精品在线| 日韩欧美在线视频日韩欧美在线视频| 亚洲美女精品成人在线视频| 欧美激情成人在线视频| 91精品久久久久久综合乱菊| 国产成人综合久久| 欧美一区三区三区高中清蜜桃| 亚洲新中文字幕| 久久人人爽国产| 精品久久国产精品| 亚州欧美日韩中文视频| 精品女同一区二区三区在线播放| 97视频在线观看免费| 精品亚洲一区二区三区在线播放| 国内外成人免费激情在线视频网站| x99av成人免费| 亚洲精品欧美日韩| 久久久久成人网| 久久精品国产清自在天天线| 国产精品吊钟奶在线| 欧美一级大片视频| 日韩在线观看av| 精品久久久久久久久国产字幕| 欧美一级淫片videoshd| 国产成+人+综合+亚洲欧美丁香花| 国产亚洲a∨片在线观看| 亚洲aaaaaa| 国产一区二区三区免费视频| 精品国偷自产在线视频| 欧美黑人狂野猛交老妇| 国产亚洲a∨片在线观看| 国产综合色香蕉精品| 久久国产精品亚洲| 欧美肥臀大乳一区二区免费视频| 欧美大片网站在线观看| 韩国国内大量揄拍精品视频| 日韩精品视频免费专区在线播放| 色播久久人人爽人人爽人人片视av| 国产香蕉一区二区三区在线视频| 久久久亚洲网站| 日韩在线激情视频| 亚洲激情视频在线观看| 亚洲午夜精品久久久久久性色| 午夜精品久久久久久久久久久久| 中文字幕精品在线| 热99精品里视频精品| 日韩大片免费观看视频播放| 欧美性xxxx极品hd欧美风情| 欧美理论片在线观看| 国产福利精品在线| 欧美韩国理论所午夜片917电影| 亚洲人成电影在线观看天堂色| 欧美富婆性猛交| 国产成人福利视频| 日韩高清av一区二区三区| 日韩在线视频导航| 性欧美视频videos6一9| 欧美一级电影免费在线观看| 国产亚洲精品高潮| 精品亚洲夜色av98在线观看| 亚洲男人av电影| 日韩黄在线观看| 久久激情视频免费观看| 成人黄色av网| 亚州成人av在线| 欧美在线影院在线视频| 欧美成人免费网| 精品久久久久久久久久ntr影视| 欧美一级淫片播放口|