【问题标题】:How to Change the format of values of a column using powershell?如何使用powershell更改列值的格式?
【发布时间】:2018-06-03 18:11:29
【问题描述】:

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

【问题讨论】:

    标签: javascript powershell csv


    【解决方案1】:

    假设您有一个这样的 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
    

    您可以根据您的要求在 PowerShell 中使用类似的内容转换 Date 列:

    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】:

      将您的列转换为[datetime],然后使用.ToString("dd-MM-yyyy HH:mm")

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-01
        相关资源
        最近更新 更多