C#将String类型的日期进行差值运算

Posted on 2018-08-24 16:55  CloudUper  阅读(791)  评论(0)    收藏  举报

C#中日期类型为DataTime (struct System.DataTime) 他是一种表示时间上的一刻的值类型,TimeSpan是表示一个时间片段的时间类型

解决思路:

1.string类型无法进行日期相加减,需转换为日期类型进行运算:DateTime.ParseExact(string,string,IFormatprovider),返回DataTime实例。

这里也可以用 DateTime.Parse 但是返回值 仅为日期类型基本格式 (2017/12/05 23:00:18)

但是如果想更加精确的转换时间比如毫秒,就只能用 ParseExact才能做到。

2.日期类型做差值运算 :使用DataTime.Subtract(DateTime) 或 DataTime.Subtract(TimeSpan) 返回一个TimeSpan实例。

3.使用TimeSpan实例的属性获取你想要的差值类型。

//eg:string类型日期-毫秒级差值运算

string date1 = "2017/12/05 02:00:18.704";
string date2 = "2017/12/05 02:00:19.785";

DateTime dt1 = DateTime.ParseExact(date1, "yyyy/MM/dd HH:mm:ss.fff", null);

DateTime dt2 = DateTime.ParseExact(date2, "yyyy/MM/dd HH:mm:ss.fff", null);// IFormatprovider 表示格式类型,此处为一般日期类型,null就可以了

TimeSpan span = dt2.Subtract(dt);

span.TotalMilliseconds.ToString();// 1081