C# DateTime.toString无法从“中正确计算PM”;年月日h:MM:ss tt“;至;yyyy MM ddTHH:MM:ss.fffZ“;

C# DateTime.toString无法从“中正确计算PM”;年月日h:MM:ss tt“;至;yyyy MM ddTHH:MM:ss.fffZ“;,c#,date,datetime,date-parsing,C#,Date,Datetime,Date Parsing,我这一次撞到墙了 我目前正试图以yyyy-MM-ddTHH:MM:ss.fffZ的格式将DateTime捕获为API调用的字符串。但是,我的原始时间戳当前格式为类似于dd/MM/yyyy h:MM:ss tt的字符串 我的代码如下: string startingTimestamp = "04/28/2020 11:25:43 PM" DateTime dt = DateTime.ParseExact(startingTimestamp, "MM/dd/yyyy

我这一次撞到墙了

我目前正试图以
yyyy-MM-ddTHH:MM:ss.fffZ
的格式将
DateTime
捕获为API调用的字符串。但是,我的原始时间戳当前格式为类似于
dd/MM/yyyy h:MM:ss tt
的字符串

我的代码如下:

string startingTimestamp = "04/28/2020 11:25:43 PM"

DateTime dt = DateTime.ParseExact(startingTimestamp, "MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
string finalTimestamp = dt.ToString("yyyy-MM-ddThh:mm:ss.fffZ");
我本以为会出来的是:
2020-04-28T23:25:43.511Z

但我得到的却是:
2020-04-28T11:25:43.000Z

在我的调试中,我可以看到
DateTime
用于PM,但它仍然输出为11:25,而不是23:25


我是否错过了将
日期时间
硬转换为24小时而不是12小时的额外步骤,或者toString方法不是合适的选择?

尝试24小时。使用hh 12小时。

我知道我遗漏了一些奇怪的语法规则。工作得很有魅力!