2024-03-04|閱讀時間 ‧ 約 23 分鐘

【PowerShell】生成當下的 timestamp,並且複製到剪貼簿

    前提

    懂基本 PowerShell,會用 Windows 內建的 PowerShell ISE。

    開始,搜尋 PowerShell ISE。


    程式碼,PowerShell 實現

    [DateTimeOffset]::Now.ToUnixTimeSeconds()

    $DateTime = Get-Date
    $st = ([DateTimeOffset]$DateTime).ToUnixTimeSeconds()
    Set-Clipboard -Value $st

    解釋

    獲取當前時間的 Unix 時間戳(以秒為單位)並將其複製到剪貼簿。

    1. [DateTimeOffset]::Now.ToUnixTimeSeconds()
      • 程式碼使用了 DateTimeOffset 類的 Now 屬性來獲取當前的日期和時間(包括時區訊息)。然後調用 ToUnixTimeSeconds 方法將這個日期和時間轉換成 Unix 時間戳格式,即從 1970 年 1 月 1 日 00:00:00 UTC 到當前時間的總秒數。這行程式碼本身僅執行轉換操作但沒有將值存儲或輸出。
    2. $DateTime = Get-Date
      • 程式碼使用 Get-Date cmdlet 獲取當前的系統日期和時間,並將其存儲在變量 $DateTime 中。Get-Date cmdlet 返回的是一個 DateTime 對象,不包括時區訊息。
    3. $st = ([DateTimeOffset]$DateTime).ToUnixTimeSeconds()
      • 程式碼首先將 $DateTime 變數(包含了 DateTime 對象)強制轉換為 DateTimeOffset 對象。這樣做是為了能夠使用 ToUnixTimeSeconds 方法,因為 DateTime 類型本身不直接支持這個轉換。轉換後,再次調用 ToUnixTimeSeconds 方法將日期和時間轉換成 Unix 時間戳。轉換得到的秒數存儲在變量 $st 中。
    4. Set-Clipboard -Value $st
      • 程式碼使用 Set-Clipboard cmdlet 將變量 $st 中存儲的 Unix 時間戳值複製到系統剪貼簿。這樣就可以在其他應用程式中貼上這個值。

    用途

    我也不知道有什麼正經用途,但我很常用。Line 的愛情動作電影群組裡,有的按下載都是亂碼,不是番號也不會排序。用這個我就只要按 Ctrl + V 就可以改檔名下載了。

    莫名其妙的人。

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.