【问题标题】:Out of range error when converting long? to datetime转换长时超出范围错误?到日期时间
【发布时间】:2014-10-16 12:35:01
【问题描述】:

我正在尝试将来自数据库的日期转换多久?进入日期时间,但出现超出范围的错误。

这是日期,26/09/2014 12:00:07,这是我从数据库中得到的,201409261200442886。

这是我正在测试的代码。

long DBdate = 201409261200070892;
DateTime start = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime date = start2.AddMilliseconds(unixDate2).ToLocalTime();

有什么想法吗??

【问题讨论】:

  • 您说“Unix 日期”,就好像该值是 Unix 时间戳一样。它不是。 201409261200070892 似乎是 2014-09-26 12:00:07.0892。将其转换为毫秒是正确的。
  • Unixdate 只是一个名称。它不起作用。
  • 它不起作用,因为 201409261200070892 不是毫秒数,它是年、月、日、小时、分钟、秒和(可能)小数秒的数字。你需要编写代码来解析它。
  • 好的,我该怎么做??

标签: datetime type-conversion long-integer


【解决方案1】:

Datum = st.Datum == null ? string.Empty : DateTime.ParseExact(st.Datum.ToString().Substring(0, 14), "yyyyMMddHHmmss", CultureInfo.InvariantCulture).ToString(),

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    相关资源
    最近更新 更多