PowerShell 字串String 與 日期Datetime 格式轉換
tags: 部落格文章
字串轉時間
建構子
直接用建構子是最簡單的
New-Object DateTime(2021, 5, 12, 22, 29, 30)
進階自訂格式
核心的程式長這樣
[DateTime]::ParseExact("13.May.2017", "dd.MMM.yyyy",[CultureInfo]::InvariantCulture)
這樣簡單一行就能夠格式化字串到日期了
強化一下寫好的副程式是這樣的
function newDatetime {
param (
[string]$date = "",
[string]$formatType = "yyyy-MM-dd HH:mm:ss"
)
# 未輸入日期則返回當前時間
if ([string]::IsNullOrEmpty($date)) {
$newDate = (Get-Date)
}
# 格式化日期
else {
$newDate = [DateTime]::ParseExact(
$date.Trim(), $formatType,
[CultureInfo]::InvariantCulture
)
}
return $newDate
}
使用的話直接這就可以用了
newDatetime "2000-01-01 12:00:00"
要自訂格式的話,後面空格多補一個參數
newDatetime "13.May.2017" "dd.MMM.yyyy"
日期轉字串
再來是把日期轉出來到字串,這個就比較容易
方式1
直接轉成字串即可
(Get-Date).ToString("yyyy-MM-dd HH:mm:ss")
方式2
陣列轉換
'{0:yyyy-MM-dd HH:mm:ss}' -f (Get-Date)
沒有留言:
張貼留言