【问题标题】:unexpected results from timespan in C#C# 中时间跨度的意外结果
【发布时间】:2017-02-19 07:20:01
【问题描述】:
TimeSpan ts = DateTime.Now.Subtract(DateTime.Parse(reader1["cur_time"].ToString()));
int a = ts.Minutes;
MessageBox.Show(a.ToString());
MessageBox.Show(ts.Milliseconds.ToString());

减去时间给我 8 分钟,这是正确的。但是以毫秒为单位转换这 8 分钟并没有给出正确的答案。如果我以毫秒为单位转换 8 分钟,它应该是 480000 毫秒,但上面的代码给了我 708 个答案。

【问题讨论】:

  • 请改用ts.TotalMilliseconds。您得到的是时间的小数部分,而不是以毫秒为单位的时间。你也应该使用ts.TotalMinutes
  • 非常感谢它有效。

标签: c# visual-studio-2015 timespan


【解决方案1】:

您正在读出 TimeSpan 的毫秒部分,而不是 span 表示的总毫秒数。

改变

ts.Milliseconds.ToString();

ts.TotalMilliseconds.ToString();

它可能包含一些额外的毫秒数,具体取决于 DateTime.Now 是什么以及解析的 cur_time。

【讨论】:

    猜你喜欢
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多