从输入时间减少当前时间

本文关键字:时间 输入 | 更新日期: 2023-09-27 17:58:55

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

Ex-

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

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

提前感谢

从输入时间减少当前时间

来自本地化时间:

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

来自UTC:

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

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

我已经展示了一个如何调用它的示例,但您将传入实际的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;
}

用于调用方法的用法替换Convert代码并为DateTime.Now for inputTime and when Ending use DateTime.Now to assign endInputTime分配实际DateTime值我用这个作为测试示例,向您展示了如何使用TimeSpan 获得Duration

var inputTime = Convert.ToDateTime("1:03:05");
var endInputTime = Convert.ToDateTime("1:05:10");
var newTimeSpan = GetTimeSpan(inputTime, endInputTime);

产量-{00:02:05}

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