【问题标题】:Convert 12:00:00.000 always to 12AM issue将 12:00:00.000 始终转换为 12AM 问题
【发布时间】:2013-03-01 03:37:59
【问题描述】:

我遇到了这样的问题。在我的开发环境中,当我从 SQL 数据库中读取记录:12:00:00.000 时,转换总是在我的应用程序中返回 12PM。但是在客户环境中,它总是返回 12AM....当然这是错误的

你有没有遇到过这个问题?

感谢和最好的问候,

【问题讨论】:

  • 可能是时区问题?
  • 在显示时间的地方显示您的代码。给我们更多信息..
  • 我使用自己的框架来进行 CRUD,因此无法在此处发布所有这些。但是您知道代码非常简单。插入数据库 -> 12:00:00.000 -> 阅读 -> 12PM -> 正确但在客户环境中 -> 阅读 -> 12AM -> 错误
  • 我会说这是因为 SQL Server 上的时间设置
  • "当然是错的";为什么“当然”?谁说 12 点是 12am 还是 12pm。实际上,技术上上午 12 点/下午 12 点的概念本质上是错误的:两者都没有意义。中午 12 点和午夜 12 点我可以落后 :)

标签: c# .net sql datetime converter


【解决方案1】:

假设“12:00:00.000”是string,请考虑使用以下方法调用将其转换为DateTime

string myValue = "12:00:00.000";
DateTime myDate = DateTime.ParseExact(myValue, "HH:mm:ss:fff");

使用HH as the hour,使用 24 小时日期格式。

记住:这只适用于输入中指定的确切格式。

【讨论】:

  • 但为什么它在我的环境中显示为下午 12 点,而在客户环境中显示为上午 12 点:( 使用相同的应用程序
【解决方案2】:
return DateTime.ParseExact("12:00:00.000", "HH:mm:ss:fff");

【讨论】:

  • 其实我已经知道正确解析它的解决方案,但这里的问题是:为什么在客户环境中转换是错误的:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-05
  • 2023-02-21
  • 2020-11-11
  • 1970-01-01
  • 2021-03-30
相关资源
最近更新 更多