【问题标题】:How to subtract timespan to get correct timedifference如何减去时间跨度以获得正确的时差
【发布时间】:2021-12-29 21:12:59
【问题描述】:

如何正确计算两个时间之间的时差以正确显示天数小时分钟。我写的代码显示了错误的时间跨度。如下图所示:

我的代码:

private void button1_Click(object sender, EventArgs e)
{
  TimeSpan ts = dateTimePicker2.Value - dateTimePicker1.Value;
  textBox1.Text = ts.ToString();

  string total = textBox1.Text;
  string[] TotalTIme = textBox1.Text.Split('.');
  textBox1.Text = TotalTIme[0];
}

【问题讨论】:

  • 你一直在重写 textBox1。加上 TimeSpan 的 ToString 有几个格式化选项
  • 您所要做的就是指定格式。 textBox1.Text = ts.ToString("dd days hh hours");(我留给你调查格式)。

标签: c#


【解决方案1】:

您的问题的标题具有误导性,因为您实际上知道如何减去时间来获得 TimeSpan,但您不知道如何从中获取所需的信息。

您可以将TimeSpan.ToStringcustom format string 一起使用,例如:

string result = ts.ToString("dd' days, 'hh' hours and 'mm' minutes'");

请注意,您还必须如上所示引用空格。

如果您希望将天、小时和分钟作为“纯”值,请使用适当的properties

【讨论】:

  • 小细节:@ 不是必需的。
  • @Andrew:你说得对,已删除
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多