Powershell将datetime对象转换为字符串 - 如何以非军事格式显示时间?

时间:2017-06-23 17:47:10

标签: .net powershell datetime

假设我有一个名为$ d的变量,它将日期作为字符串转换为DateTime对象:

$d = [datetime]"1-2-14 1:25pm"

我可以通过执行以下操作将该对象转换回字符串:

"{0:MM/dd/yyyy hh:mm}" -f [datetime]$d

但这会输出' hh:mm'在军事时间。有没有办法让它在非军事时间用am / pm输出时间部分?

1 个答案:

答案 0 :(得分:4)

format specifier for the AM/PM designation is "tt"

CREATE PROCEDURE dbo.testProc @PARAM AS VARCHAR(50)
AS
BEGIN
    IF OBJECT_ID('tst.test') IS NOT NULL
    DROP TABLE tst.test;

    SELECT *
    INTO tst.test
    FROM tst.red;

    IF OBJECT_ID('tst.test2') IS NOT NULL
    DROP TABLE tst.test2;

    SELECT *
    INTO tst.test2
    FROM tst.blue
    WHERE @PARAM = 'COLOR';
END

如果您想要24小时的时间,请用"{0:MM/dd/yyyy hh:mmtt}" -f $d 代替小时:

HH

"{0:MM/dd/yyyy HH:mm}" -f $d 的演员表是不必要的,[datetime]已经是$d类型