2024年4月27日 星期六

PowerShell 如何生成時間戳記 相對於 1970-01-01 的秒數

PowerShell 如何生成時間戳記 相對於 1970-01-01 的秒數

在做JWT呼叫API相關的事情,被這時間戳記搞了一會

先說Python上的時間戳記,這東西不用太管直接出來就是正確的

import time
round(time.time())

但是如果要手動實現這個功能就會牽涉到相對時間跟時區的問題了

這裡關鍵就是 Get-Date '1970-01-01 00:00:00' 已經是絕對時間了就不能在加入時差運算了,原本兩邊都加了算出來奇怪怎麼對不上

# 獲取 PowerShell 的時間戳
$TimeStamp1 = [int][Math]::Round(((Get-Date).ToUniversalTime() - (Get-Date '1970-01-01 00:00:00')).TotalSeconds)
Write-Host "PowerShell: $TimeStamp1"

# 獲取 Python 的時間戳
$TimeStamp2 = & python -c "import time; print(round(time.time()))"
Write-Host "Python    : $TimeStamp2"

# 時差
($TimeStamp1-$TimeStamp2)/60/60

-

沒有留言:

張貼留言