【发布时间】:2021-08-27 18:50:07
【问题描述】:
我正在格式化与 Moneris 的定期计费集成的日期。该请求需要格式为“yyyy/MM/dd”的开始计费日期。简单的任务和“它在 Dev 中工作”。
当我将 API 代码发布到我们的暂存环境时,提交失败(来自 Moneris 的一个非常无助的错误,“系统或数据问题。请重试。”)。我已经确定它实际上是有争议的开始日期的日期格式。
在 Dev 中,输出如上所示,但是,在暂存时,输出格式为“yyyy-MM-dd”。这会破坏提交。我竟然用正确的格式硬编码一个值,它成功了。所以我们知道输出格式是有问题的差异。
我在 DateTime 上没有遇到任何其他 ToString("blah") 实例的问题。它与 DateTimeOffset 有关吗?为什么格式会放弃所指示的内容?
API 是 C# Asp.NetCore 3 解决方案。 开发环境:Windows 10 Pro 暂存环境:Windows Server 2019 标准版
【问题讨论】:
-
至少贴出你用来创建字符串的实际代码!
-
这能回答你的问题吗? Datetime acting weird on different computers
-
如果您需要在每台机器上以每种语言都一致的固定日期格式,您必须提供(至少)格式字符串,以及(更好)相应的 CultureInfo
-
@gunr2171 虽然引用的问题以某种方式解决了日期的本地化问题,但我根本不推荐接受的答案,因为绝对不鼓励以这种方式构建 SQL 查询......
标签: c# asp.net-core-webapi tostring datetimeoffset