You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell修改CSV日期格式并写入文件问题

解决PowerShell CSV日期格式转换与导出问题

问题原因

你之前的代码仅输出转换后的日期字符串,Export-Csv会将这类字符串视为单一值,最终导出的CSV只会生成记录字符串长度的Length列,而非你需要的完整数据列。同时你还需要为转换后的日期拼接固定时间23:59:00。

解决方案代码

Import-Csv "C:\temp\codes3.csv" | ForEach-Object {
    # 解析原日期并添加固定时间
    $parsedDate = [datetime]::ParseExact($_."When to Cancel User", "ddMMyy", [System.Globalization.CultureInfo]::InvariantCulture)
    $formattedDate = $parsedDate.AddHours(23).AddMinutes(59).AddSeconds(0).ToString("yyyy-MM-dd HH:mm:ss")
    
    # 保留所有原列,仅替换目标日期列
    $newRow = $_ | Select-Object *
    $newRow."When to Cancel User" = $formattedDate
    $newRow
} | Export-Csv "C:\temp\codes4.csv" -NoTypeInformation

关键说明

  • Select-Object *会复制当前行的所有原有列,确保不会丢失其他业务数据
  • 通过AddHours/AddMinutes/AddSeconds添加固定时间,比直接拼接字符串更可靠,能避免区域格式导致的异常
  • [System.Globalization.CultureInfo]::InvariantCulture确保日期解析不受系统区域设置影响,兼容性更强
  • 最终用ToString("yyyy-MM-dd HH:mm:ss")输出符合接收系统要求的日期时间格式

内容的提问来源于stack exchange,提问作者null_value

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:50:49