DateTime.toString 未正确计算从 "dd/MM/yyyy h:mm:ss tt" 到 "yyyy-MM-ddTHH:mm:ss.fffZ" 的 PM
DateTime.toString not accounting for PM correctly from "dd/MM/yyyy h:mm:ss tt" to "yyyy-MM-ddTHH:mm:ss.fffZ"
我用这个有点碰壁。
我目前正在尝试以 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。
我是否缺少一些额外的步骤来将 DateTime
硬转换为 24H 而不是 12H 或者 toString 方法不是合适的选择?
尝试 HH 24 小时。使用 hh 12 小时。
我用这个有点碰壁。
我目前正在尝试以 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。
我是否缺少一些额外的步骤来将 DateTime
硬转换为 24H 而不是 12H 或者 toString 方法不是合适的选择?
尝试 HH 24 小时。使用 hh 12 小时。