📌  相关文章
📜  c# 将日期时间转换为时间跨度 - C# (1)

📅  最后修改于: 2023-12-03 14:39:46.516000             🧑  作者: Mango

C# 将日期时间转换为时间跨度

在 C# 中,DateTime 结构中的时间可以转换为 TimeSpan 结构中的时间跨度。

TimeSpan 结构

TimeSpan 结构表示时间间隔,它可以是整数部分和小数部分的组合,单位可以是天、小时、分钟、秒和毫秒。

创建时间跨度的方式有两种:

  1. 构造函数:TimeSpan(int hours, int minutes, int seconds)
  2. 静态方法:TimeSpan.FromDays(double days)

以下是创建 TimeSpan 实例的示例代码:

TimeSpan time1 = new TimeSpan(2, 14, 18);
Console.WriteLine(time1);

TimeSpan time2 = TimeSpan.FromDays(1.5);
Console.WriteLine(time2);
将 DateTime 转换为 TimeSpan

可以通过 DateTime.Subtract 方法将两个日期时间相减,从而得到时间跨度。该方法返回一个 TimeSpan,表示两个日期时间之间的时间间隔。

以下是将 DateTime 转换为 TimeSpan 的示例代码:

DateTime start = new DateTime(2022, 1, 1, 0, 0, 0);
DateTime end = new DateTime(2022, 1, 1, 12, 0, 0);
TimeSpan duration = end.Subtract(start);
Console.WriteLine(duration);
将 TimeSpan 转换为 DateTime

可以使用 DateTime.Add 方法将时间跨度加到日期时间上,从而得到新的日期时间。

以下是将 TimeSpan 转换为 DateTime 的示例代码:

DateTime start = new DateTime(2022, 1, 1, 0, 0, 0);
TimeSpan duration = new TimeSpan(12, 0, 0);
DateTime end = start.Add(duration);
Console.WriteLine(end);
总结

通过 DateTime.Subtract 和 DateTime.Add 方法,可以在 C# 中将日期时间转换为时间跨度和将时间跨度转换为日期时间。这对于时间计算和时间戳处理非常有用。