[英]Getting Date into UK time format correctly before writing to CSV - powershell
我有一小段代碼可以計算計算機登錄所經過的天數。 它工作正常,並為我提供了正確的信息。 但是,當將字符串放入 CSV 文件時,它會以美國時間格式顯示日期:MM/dd/yyyy HH:mm:ss 但我想要英國:dd/MM/yyyy HH:mm:ss 返回到 CSV。
這是為我提供所需信息的代碼:
注意:ps中的日期格式顯示如下:04 August 2022 11:21:40
##get date into variable
$Date = Get-Date
#Get pc login timestamp into variable
$lastlogon = $Computer.lastlogonTimestamp
##Calculate the days elapsed but this part is really irrelevant for the question.
$dayslogonelapsed = $Date - $lastlogon
一旦我准備好將數據寫入 csv 文件,代碼如下:
$csvdescriptoutput = 'C:\temp\csvtest.csv'
###Log data to a single variable for CSV.
$logline = ("$lastlogon;" + "$($dayslogonelapsed.Days)")
###write to CSV
Add-Content -Path $csvdescriptoutput -Value $LogLine
當數據在日志文件中時,它顯示如下:07/24/2022 14:07:28 - 美國格式。 當我需要這個時:24/07/2022 14:07:28 - 英國格式。 我的電腦設置為英國時間本地人,我的 Excel 也是如此。
也不能在工作表中更改 excel 一次,因為 CSV 只查看字符串。
將自定義格式字符串傳遞給Get-Date
,如下所示:
$Date = Get-Date -Format 'dd\/MM\/yyyy HH\:mm\:ss'
這會將日期轉換為字符串。 要將$Date
保留為[DateTime]
,您還可以使用其ToString()
方法按需對其進行格式化:
$Date = Get-Date
$Date.ToString('dd\/MM\/yyyy HH\:mm\:ss')
筆記:
為了確保保留字符/
和:
被逐字解釋,獨立於語言環境,請通過在它們前面放置反斜杠來轉義它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.