【问题标题】:Parse mysql datetime to c# DateTime [duplicate]将mysql datetime解析为c#DateTime [重复]
【发布时间】:2015-12-19 03:48:39
【问题描述】:

我有一个 MySql DateTime 1442915520000,我需要使用 C# 解析它。

我尝试了以下方法:

DateTime dt = Convert.ToDateTime(dataFim);

DateTime dt = DateTime.Parse(i[0]["dataFim"].ToString());

有什么建议吗?这一定很容易,但我似乎无法弄清楚......

编辑:

我忘了提到这个值来自一个 java web 应用程序,这个值被解析为 java Date

【问题讨论】:

  • 为什么不将值存储在 MySQL 的 DateTime 字段中?
  • @DavidG 我已经从你的链接中尝试了接受的答案,它返回一个错误,说超出范围值
  • 您的值以毫秒为单位,因此请使用AddMilliseconds 而不是AddSeconds
  • @JonSkeet 它以日期时间格式存储。这个值正在通过一个将mysql值解析为java Date的java应用程序传递
  • 寻找“一种可行的方法”与查看您的整体解决方案并确定它是否是最佳方法不同......

标签: c# mysql datetime


【解决方案1】:

只需将毫秒添加到 Unix 纪元开始:

DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddMilliseconds(1442915520000);

【讨论】:

  • 完美解决方案!谢谢
猜你喜欢
  • 2016-08-30
  • 2012-07-25
  • 2019-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-26
  • 1970-01-01
相关资源
最近更新 更多