在powershell中,我创建了一个数据表;数据表中有一列,格式化日期:
SELECT RIGHT('0' + cast(day(GETDATE()) as varchar(2)),2) + '-' + CAST(DATENAME(MONTH, GETDATE()) AS VARCHAR(3)) + '-' + cast(DATEPART(year, GETDATE()) as varchar(4))
所以实际值是:dd-MMM-yyyy
除此之外,当我使用以下内容时,日期格式更改为dd-MMM-yy
$dtResult | export-csv $outputFile -notypeinformation
将日期定义为dd-MMM-yyyy
至关重要欢呼声
答案 0 :(得分:2)
听起来日期作为DateTime存储在数据表中,因此它将使用系统默认值进行格式化。解决此问题的一种方法是首先将数据表转换为对象集合,然后将日期转换为字符串:
$dtObjects = $dtResult | Select-Object ID, Name, @{n="DateField";e={$_.DateField.ToString("dd-MMM-yyyy"}}
将字段名称替换为您的实际字段名称。