2015-06-25 17 views
0

我有這樣的:如何使LastWriteTime回報文化敏感日期字符串

$LogfileInfo = Get-Item C:\windows 
$LogfileInfo.LastWriteTime 
"Explaining Text: " + $LogfileInfo.LastWriteTime 

線2的輸出是:

21. maj 2015 13:44:45 

3號線輸出爲:

Explaining Text: 05/21/2015 13:44:45 

它改變了輸出,即使它是相同的變量!?

我怎樣才能得到第2行輸出(命名月份,而不是扭轉日/月),但前面的文字,如第3行?

回答

2

默認輸出爲System.DateTime的是日期時間:

"Explaining Text: " + $LogfileInfo.LastWriteTime.DateTime 
+0

謝謝。完美的作品。輸出現在是:「解釋文本:21. maj 2015 13:44:45」 – Lisbjerg

1

在一些點,DateTime值被轉換成一個字符串。根據何時完成,可以應用當前文化和默認格式的不同設置。

$LogfileInfo.LastWriteTime 

轉換爲字符串內被應用於任何管道,而不在其結束另一out-… cmdlet的PSH的out-default完成。這將使用System.DateTime的默認格式定義(.format.ps1xml文件)。

"Explaining Text: " + $LogfileInfo.LastWriteTime 

串是由發生轉換時。

嘗試用

$LogfileInfo.LastWriteTime.ToString() 

代替第一,你應該得到相同的格式爲第一。

+0

謝謝。也有效。不保留月份的命名,但要確保日/月不轉換。輸出現在是:「解釋文本:21-05-2015 13:44:45」 – Lisbjerg

+0

@Lisbjerg您可能需要明確您想要的格式。請參閱[標準日期和時間格式字符串](https:// msdn。 microsoft.com/en-us/library/az4se3k1.aspx)或[自定義日期和時間格式字符串](https://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx)。 – Richard

+0

謝謝。鏈接保存。 – Lisbjerg

相關問題