如何釋放 iCloud 上的空間
您是否厭倦了那些告訴您 iCloud 帳戶空間不足的彈出通知?好消息:你不需要再忍受它們了。
為什麼 Unix 有自己的時間概念?什麼是紀元,什麼是 Y2038 問題?
Unix 時間是一種表示特定日期和時間的方法,被 Linux、macOS 和許多其他可互操作的系統使用。它是如此普遍,以至於您可能在不知不覺中使用它。但是,一旦您了解了 Unix 時間,您就會在許多上下文中發現它。有幾個工具可以幫助您使用 Unix 時間。
Unix 時間是自固定時間和日期以來的總秒數。它是一種日期/時間(或時間戳)格式,看起來與我們習慣的人類可讀的日期和時間不同。這純粹是出於效率原因。與存儲單獨的年、月、小時等值相比,存儲表示秒的單個數字所需的空間要少得多。
當然,用現代術語來說,空間差異根本不是那麼大。但考慮到 Unix 起源於 1960 年代後期,當時可用存儲空間要小得多。時間戳也被大量使用,因此它們的存儲量加起來。例如,每個文件都有三個與之關聯的時間戳。
除非您是數學天才,否則這種格式幾乎不可能在您的腦海中進行翻譯。但與更具可讀性的替代方案(例如Wed, 21 Oct 2015 07:28:00 GMT )相比,它仍然具有一些優勢。您可以非常輕鬆地訂購兩個 Unix 時間戳,一目了然。計算出兩個時間戳之間的差異通常也更快。這對於相近的日期尤其如此,例如在相鄰的日子。
因此,Unix 時間是自特定時間點以來的總秒數。但那個時間點是什麼?現在是1970年1 月 1 日UTC時間00:00:00。這通常被稱為 Unix 時代。程序員為了方便選擇了這個日期,因為這是他們發明 Unix 時間的最接近的日期。
當出現問題時,您很可能已經看到了這個日期。這顯然是一個錯誤,但是當它導致我們許多人出生之前的日期時看起來很奇怪!但是,當您了解 Unix 時間時,這是完全可以理解的。如果任何系統試圖顯示沒有任何值的時間戳,它通常會轉換為 0 並導致確切的紀元日期。
嚴格來說,沒有。原始數據類型是 32 位整數,即使在功能更強大的系統中,情況也經常如此。
這種數據類型允許值總共存儲 2^32 秒,剛好超過 136 年。這個值通常是有符號的,這意味著它可以是負數或正數。因此,它通常代表紀元兩側的 68 年,即 1902-2038。
當然,這仍然是一個有限的時期。但時間戳格式的主要用途是用於文件修改等概念。非常需要代表接近現在的時間,而不是古代歷史或遙遠的未來。即使對於日曆等應用程序,也很少需要表示未來幾十年之後的日期。
但這並不意味著這個有限的時間跨度就沒有問題……
Y2K 錯誤(歷史上最嚴重的編程錯誤之一)影響了將年份存儲為兩位數的計算機系統。到了2000年,這樣的系統把它當成1900年了。其實,這並沒有想像中的那麼災難性,主要是因為很多人提前花了很多時間和精力,為之做好了準備。
如果您在上一節中註意了,您可能已經發現了可能影響 Unix 時間的類似問題。嗯,Unix 時間確實有它自己的數據問題:Y2k38 問題。(它通常被稱為問題,而不是錯誤;也許自 2000 年以來我們變得更加樂觀了!)當 Unix 時間在 2038 年字面上用完時,系統會將新日期視為 1902 或 1970。或者可能他們'只會完全失敗。
至少這個問題不會在新年前夜的午夜襲擊我們。32 位 Unix 時間的最後一秒將落在 3 月 19 日。最終,我們很可能會在 2038 年之前升級大多數係統,否則無論如何它們都會過時。
在時代轉換的網站可能是最全面的時間戳轉換器可用。它首先實時顯示當前的 Unix 時間,並在此基礎上添加幾乎所有可以想像的功能。它的主要用途是在時間戳和人類可讀日期之間進行雙向轉換。
Dan's Tools 是大量有用的網絡應用程序的集合,其中之一是時間戳轉換器。它更基本,但具有非常乾淨的演示文稿並且易於使用。
Time.is呈現另一種更簡約的外觀。它以多種格式顯示時間,包括 Unix 時間。它在其頁面標題中包含當前時間,這很有用。
在 Linux 和 macOS 上,日期程序是處理日期/時間(包括 Unix 時間戳)的核心實用程序。不帶任何參數調用,它以人類可讀的格式返回當前日期/時間:
$ date Wed Feb 10 12:28:30 GMT 2021
如果您需要 Unix 時間的當前日期/時間,請使用+%s參數:
$ date +%s 1612960114
如果您的日期版本支持,您可以使用-d標誌將人類可讀的日期轉換為時間戳。默認情況下,大多數 Linux 版本應該:
$ date -d "Jan 2 1970" +%s 82800
在 macOS 上,date是一個不同的程序,它需要一組不同的標誌:
$ date -j -f "%b %d %Y %T" "Jan 02 1970 00:00:00" "+%s" 82800
另一方面,您可以使用-r標誌從 Unix 時間戳轉換:
$ date -r 1600000000 Sun 13 Sep 2020 13:26:40 BST
其他一些程序使用%s格式來處理 Unix 時間。例如,如果您想在 Unix 時間顯示文件的修改日期,使用ls的Linux 版本,您可以使用以下命令:
$ ls -l --time-style=+%s index.tmp.html -rw-r--r-- 1 ubuntu ubuntu 17862 1521649818 index.tmp.html
PHP 有 time()函數,它返回當前的 Unix 時間戳。它的date()函數將時間戳作為第二個參數:
$ php -r 'echo date("Y-m-d", time());' 2021-02-11
JavaScript 以一種有趣的方式處理事情。它有一個Date.now()方法來獲取自 Unix 紀元以來的毫秒數。當然,您可以將其除以 1,000 並將結果四捨五入以給出等效的 Unix 時間(以秒為單位):
> Math.floor(Date.now() / 1000) 1613083012
Unix 時間是一個簡單的概念,出現在很多地方。一旦你理解了它,你可能會發現它非常有用,例如在計算時差時。您還可以識別何時可能是某些錯誤的原因。
諸如紀元和時間戳之類的概念是 Linux 入門的重要組成部分。要了解有關ls等基本要素的更多信息,請查看我們的基本 Linux 命令指南。
您是否厭倦了那些告訴您 iCloud 帳戶空間不足的彈出通知?好消息:你不需要再忍受它們了。
似乎您可以在每個平台上獲得 Netflix。無論是您的電視、機頂盒還是手機,全球最受歡迎的流媒體服務隨處可見。或者是嗎?
PlayStation 5 可在垂直或水平設置中工作。如果您改變了首選方向的想法,將 PS5 從垂直移動到水平(或反之亦然)非常容易。
在切換到 Chromebook 時,您可能想知道的第一件事是如何做基本的事情——你在以前的操作系統中掌握的那種東西。複製和粘貼是您必須在某一時刻使用的一項基本功能。
在現代科技時代,打字已成為許多職業最常見的活動之一。學會更快更準確地打字可以幫助您在相同的時間內完成更多的工作。
Ubuntu 因其健壯性和相對較少的錯誤而廣受歡迎。但它肯定不是沒有問題。其中一個問題是其 Wi-Fi 驅動程序。您可能會打開系統電源,卻發現您的 Wi-Fi 無法正常工作。
除了所有的絨毛,這裡列出了適用於 Ubuntu 的最佳免費視頻編輯器,您可以使用它們來創建令人驚嘆的視頻。
快速響應碼,簡稱 QR 碼,是一種高級條碼,包含比傳統條碼更多的信息。這些代碼是二維的,允許您垂直或水平掃描它們。
想在 Arch Linux 上安裝軟件包但不知道如何安裝?很多人第一次從基於 Debian 的發行版遷移到 Arch 時都會遇到這個問題。但是,您可以使用包管理器輕鬆管理基於 Arch 的系統上的包。
Spotify 是最大的音樂流媒體服務之一。它具有適用於移動(Android 和 iOS)和桌面(Mac 和 Windows)設備的本機客戶端。
Linux 操作指南通常希望您在終端中執行某些操作,這乍一看似乎令人生畏。但不要擔心;這個 Linux 命令備忘單將涵蓋打開終端和發出一些有用命令的過程。
雖然您可能已經知道如何使用 GUI 文件瀏覽器在 Linux 中移動文件,但您可能想知道終端中是否有移動命令可以讓您快速將文件移動到不同的目錄。mv 命令就是您想要的,它的簡單語法和一些可選的安全標誌易於使用。
默認情況下,Ubuntu 允許您切換應用程序而不是窗口。以下是如何在 Ubuntu 上的 Alt-Tab 中反轉它並取消組合選項卡。