首页 > 编程笔记 > C#笔记 阅读:10

C# TimeSpan的用法(附带实例)

TimeSpan 属于 System 类,主要用于处理时间的间隔。

DateTime 类的使用非常有弹性,可以使用下列构建方法创建时间对象:
public TimeSpan(long ticks);
public TimeSpan(int hours, int minutes, int seconds);
public TimeSpan(int days, int hours, int minutes, int seconds);
public TimeSpan(int days, int hours, int minutes, int seconds, int milliseconds);

C# TimeSpan的属性

TimeSpan 的属性如下:
【实例 1】创建 TimeSpan 对象同时输出 TotalDays 和相关属性。
TimeSpan interval = new TimeSpan(5, 10, 40, 35, 350);
Console.WriteLine($"TimeSpan interval : {interval}");
Console.WriteLine($"TotalDays : {interval.TotalDays}");
Console.WriteLine($"Days : {interval.Days,-3}");
Console.WriteLine($"Hours : {interval.Hours,-3}");
Console.WriteLine($"Minutes : {interval.Minutes,-3}");
Console.WriteLine($"Seconds : {interval.Seconds,-3}");
Console.WriteLine($"Milliseconds : {interval.Milliseconds,-3}");
执行结果为:

TimeSpan interval : 5.10:40:35.3500000
TotalDays : 5.44485358796296
Days : 5 
Hours : 10
Minutes : 40
Seconds : 35
Milliseconds : 350


【实例 2】创建 TimeSpan 对象同时输出 TotalHours 和相关属性。
TimeSpan interval = new TimeSpan(1, 10, 40, 35, 350);
Console.WriteLine($"TimeSpan interval : {interval}");
Console.WriteLine($"TotalHours : {interval.TotalHours}");
Console.WriteLine($"Hours : {interval.Hours,-3}");
Console.WriteLine($"Minutes : {interval.Minutes,-3}");
Console.WriteLine($"Seconds : {interval.Seconds,-3}");
Console.WriteLine($"Milliseconds : {interval.Milliseconds,-3}");
执行结果为:

TimeSpan interval : 1.10:40:35.3500000
TotalHours : 34.6764861111111
Hours : 10
Minutes : 40
Seconds : 35
Milliseconds : 350


【实例 3】创建 TimeSpan 对象同时输出 TotalMinutes 和相关属性。
TimeSpan interval = new TimeSpan(1, 10, 40, 35, 350);
Console.WriteLine($"TimeSpan interval : {interval}");
Console.WriteLine($"TotalMinutes : {interval.TotalMinutes}");
Console.WriteLine($"Minutes : {interval.Minutes,-3}");
Console.WriteLine($"Seconds : {interval.Seconds,-3}");
Console.WriteLine($"Milliseconds : {interval.Milliseconds,-3}");
执行结果为:

TimeSpan interval : 1.10:40:35.3500000
TotalMinutes : 2080.58916666667
Minutes : 40
Seconds : 35
Milliseconds : 350


【实例 4】创建 TimeSpan 对象同时输出 TotalSeconds 和相关属性。
TimeSpan interval = new TimeSpan(1, 10, 40, 35, 350);
Console.WriteLine($"TimeSpan interval : {interval}");
Console.WriteLine($"TotalSeconds : {interval.TotalSeconds}");
Console.WriteLine($"Seconds : {interval.Seconds,-3}");
Console.WriteLine($"Milliseconds : {interval.Milliseconds,-3}");
执行结果为:

TimeSpan interval : 1.10:40:35.3500000
TotalSeconds : 124835.35
Seconds : 35
Milliseconds : 350

C# TimeSpan类常用方法

TimeSpan 类常用的方法如下:

1) 时间间隔加法Add()

时间间隔加法 Add() 的语法如下:
public TimeSpan Add(TimeSpan ts);

【实例 5】时间间隔加法的应用。
TimeSpan ts1 = new TimeSpan(10, 20, 30);
var ts2 = new TimeSpan(2, 5, 40);
Console.WriteLine($"{ts1.Add(ts2)}");
执行结果为:

12:26:10

2) 时间间隔减法Subtract()

时间间隔减法 Subtract() 的语法如下:
public TimeSpan Subtract(TimeSpan ts);

【实例 6】时间间隔减法的应用。
TimeSpan ts1 = new TimeSpan(10, 20, 30);
var ts2 = new TimeSpan(2, 30, 40);
Console.WriteLine($"{ts1.Subtract(ts2)}");
执行结果为:

07:49:50

3) 解析字符串为时间间隔Parse()和TryParse()

常用的 Parse() 方法语法如下:
public static TimeSpan Parse(string s);
上述 s 是要解析的日期或时间字符串,其可以是下列格式:
[ws][-]{d.}hh.mm[:ss[.ff]][ws]