代码之家  ›  专栏  ›  技术社区  ›  Sumith Chalil

如何使用powershell更改列值的格式?

  •  0
  • Sumith Chalil  · 技术社区  · 8 年前

    如何从更改联接的列中的时间戳“n”号 YYYY-MM-DDTHH:MM:SS DD-MM-YYYY HH:SS 从使用powershell脚本导入的csv文件中,如何将结果保存为新的csv文件?

    2 回复  |  直到 8 年前
        1
  •  2
  •   boxdog    8 年前

    假设您有这样一个csv:

    Name,Date,Colour
    Alice,1997-05-13T21:50:00,Red
    Bob,2001-06-03T10:52:36,Green
    Carol,1991-12-21T02:25:45,Blue
    

    您可以转换 Date 在powershell中按您的要求列如下:

    Import-Csv .\Data.csv |
        ForEach-Object {
            $_.Date = (Get-Date $_.Date).ToString("dd-MM-yyyy HH:ss")
            $_
        } | Export-Csv .\Data2.csv
    

    输出如下(如果您使用 Import-Csv ):

    Name  Date             Colour
    ----  ----             ------
    Alice 13-05-1997 21:00 Red   
    Bob   03-06-2001 10:36 Green 
    Carol 21-12-1991 02:45 Blue 
    

    注释 :此输出符合您的要求( DD-MM-YYYY HH:SS ,其中 hours:seconds 在里面。我想你是说 hours:minutes ,您可以通过更改 ToString() 图案到:

    dd-MM-yyyy HH:mm

        2
  •  1
  •   LotPings    8 年前

    把你的专栏投到 [datetime] 然后使用 .ToString("dd-MM-yyyy HH:mm")

    > ([datetime]"2018-06-03T12:22:23").ToString("dd-MM-yyyy HH:mm")
    03-06-2018 12:22