簡體   English   中英

日期/時間在Powershell中無法正確格式化

[英]Date / Time won't format correctly in Powershell

我在Power Shell腳本中將日期轉換為02/04/2016時遇到問題,它發現為McAfee創建DAT文件的時間。 由於某種原因,它正在輸出02/03/2016 00:00:00,有人可以告訴我為什么要添加00:00:00嗎? 這是我到目前為止的內容:

$mcafee = Get-ItemProperty HKLM:\SOFTWARE\Wow6432Node\McAfee\AVEngine
$mcafee.AvDatDate
$datfile=[datetime]$mcafee.AvDatDate

$datfile.adddays(-3)
$threedaysbefore = $datfile.adddays(-3)

$WPFMcAfeeField.Text = $datfile

$datfile.adddays(-3)
$threedaysbefore = $datfile.adddays(-3)


$WPFMcAfeeField.Text = $datfile

所以我真正的問題是,如何將該語句整體編輯為字段在以下位置的輸出:02/03/2016? 我已經嘗試了所有我能想到的。 我需要重新格式化嗎?

使用[datetime]$mcafee.AvDatDate可以強制轉換為[datetime]對象。 您所看到的應該是$datfile值。 它將包含一個日期和時間 由於您未提供值,因此默認為午夜。

如果只想使用日期,則可以使用各種方法來返回該數據。 一個簡單的例子是ToString()方法。 提供一個日期時間格式 ,它將返回匹配的字符串。

PS C:\temp> $datfile.ToString("MM/dd/yyyy",[cultureinfo]::InvariantCulture)
02/04/2016

設置區域性設置對於確保您從字符串中獲得預期的結果很重要。 在上述情況下,請確保您的區域設置確實干擾了輸出或所謂的對文化不敏感。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM