簡體   English   中英

奇數結果日期/時間格式 - Powershell

[英]Odd Result Date/Time Format - Powershell

我將一個表示日期即20180625的字符串傳遞給我的Powershell腳本。

然后我接受字符串參數,稱為$ currentDate並將其格式化如下:

$date = [datetime]::ParseExact($currentDate,"yyyyMMdd",$null)

但是,當我寫出$ date變量時,它顯示為6/29/2018 12:00:00 AM。

我這樣做是因為我需要為我的劇本獲取一年中的一天:

$dayofyear = ($date).dayofyear

哪個有效。 我只是希望$ date是yyyyMMdd格式。 只是好奇為什么會這樣。

ParseExact的format參數告訴解析器你給它的日期是什么格式。你得到的對象是DateTime對象而不是字符串。 要以您想要的格式獲取字符串,請使用.ToString()方法,然后給出您希望字符串所在的格式。

舉個例子:

$currentDate = '20180629'
$date = [datetime]::ParseExact($currentDate,"yyyyMMdd",$null)
$dayOfYear = $date.DayOfYear
$date.ToString('yyyyMMdd')

$date[datetime]類型的對象,它包含以ticks表示的精確時間度量。 例如,1天的時間跨度將是864000000000個刻度。 因此,在較小的字段中不可能具有$null值(864個滴答僅為幾毫秒)。 $date使用默認格式打印到控制台,可以更改。 但是,由於每個字段下至-Milliseconds都填充為0,當該默認格式包含-hours等字段時,它們將顯示為最小值(在本例中為完全上午12點)。

暫無
暫無

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

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