📅  最后修改于: 2023-12-03 14:50:09.600000             🧑  作者: Mango
在编程中,我们经常需要对时间进行计算和操作,特别是对于时间戳的处理,减去时间的操作是非常常见的需求。在 C# 中,提供了丰富的 API 和功能,可以方便地进行时间的减法操作。
DateTime 结构体提供了一个 Subtract 方法,可以对两个 DateTime 对象进行减法操作,返回一个 TimeSpan 对象,表示两个时间之间的时间差。
DateTime datetime1 = DateTime.Now;
DateTime datetime2 = new DateTime(2021, 6, 1);
TimeSpan timespan = datetime1.Subtract(datetime2);
Console.WriteLine(timespan.TotalDays); //输出相差的天数
以上代码中,我们通过 Subtract 方法计算当前时间和 2021-06-01
之间的时间差,并输出了相差的天数。
除了使用 Subtract 方法,我们也可以直接对 TimeSpan 对象进行减法操作,返回一个新的 TimeSpan 对象。
TimeSpan timespan1 = new TimeSpan(2, 30, 0);
TimeSpan timespan2 = new TimeSpan(1, 0, 0);
TimeSpan result = timespan1 - timespan2;
Console.WriteLine(result.TotalHours); //输出相差的小时数
以上代码中,我们定义了两个 TimeSpan 对象表示两个时间段,对它们进行减法操作,计算它们之间的时间差,并输出了相差的小时数。
有时候,我们需要从字符串中解析出时间,并对其进行减法操作。DateTime.ParseExact 方法可以帮助我们实现这个需求。
string dateStr = "2021-06-01 12:00:00";
DateTime datetime = DateTime.ParseExact(dateStr, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
TimeSpan timespan = DateTime.Now - datetime;
Console.WriteLine(timespan.TotalSeconds); //输出相差的秒数
以上代码中,我们定义了一个字符串,表示时间,并使用 DateTime.ParseExact 方法解析出对应的 DateTime 对象,然后与当前时间进行减法操作,计算它们之间的时间差,并输出了相差的秒数。
以上就是 C# 中减去时间的介绍和示例代码,我们可以根据实际情况选择合适的方法和 API 进行操作。