export-csv正在破坏我的日期格式

时间:2014-03-25 19:05:10

标签: powershell csv datatable

在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

至关重要

欢呼声

1 个答案:

答案 0 :(得分:2)

听起来日期作为DateTime存储在数据表中,因此它将使用系统默认值进行格式化。解决此问题的一种方法是首先将数据表转换为对象集合,然后将日期转换为字符串:

$dtObjects = $dtResult | Select-Object ID, Name, @{n="DateField";e={$_.DateField.ToString("dd-MMM-yyyy"}}

将字段名称替换为您的实际字段名称。