减少输入时间的当前时间

时间:2013-02-13 18:51:18

标签: c# time window

我需要从当前时间减少用户输入时间我该怎么办? C#windows

前 -

  • 当前时间 - 1:05:10
  • 输入时间---- 1:03:05

  • 我需要-------- 0:02:05

提前致谢

3 个答案:

答案 0 :(得分:1)

从本地化时间开始:

Text = DateTime.Now.Subtract(inputTime).ToString("hh:mm:ss");

来自UTC:

Text = DateTime.UtcNow.Subtract(inputTime).ToString("hh:mm:ss");

答案 1 :(得分:0)

Text = DateTime.Now.Subtract(inputTime).ToString();

答案 2 :(得分:0)

为什么不写一个静态的方法我知道这个有用,它会处理你需要做的事情

我已经展示了如何调用它的示例,但是您将传递实际的DateTime startTime和endTime值。 TimeSpan会为您提供更准确的时间

public static TimeSpan GetTimeSpan(DateTime startTime, DateTime endTime)
{
    TimeSpan totTime = new TimeSpan();
    startTime = Convert.ToDateTime(startTime.TimeOfDay.ToString());
    endTime = Convert.ToDateTime(endTime.TimeOfDay.ToString());
    totTime = (TimeSpan)(endTime - startTime);
    return totTime;
}

用于调用方法的用法替换转换代码并为DateTime.Now for inputTime and when Ending use DateTime.Now to assign endInputTime分配实际的DateTime值 我已将此作为测试示例,向您展示如何使用TimeSpan

获取持续时间
var inputTime = Convert.ToDateTime("1:03:05");
var endInputTime = Convert.ToDateTime("1:05:10");
var newTimeSpan = GetTimeSpan(inputTime, endInputTime);

收益率 - {00:02:05}