时间类型的运算

 

时间无法像数字一样直接计算,因为时间不能够直接被计算器和编程语言识别,所以需要使用到一些别的方法。

 

在JS中可以这样计算:

 

var d = new Date()//获取当前时间

输出console.log(d.toLocaleString());

假若需要进行天数的计算

d.setDate(d.getDate()+2);

//setDate()方法设置对象的天数,通过getDate()方法获取到对象的天数进行计算再返回到setDate()方法中,这样天数的计算就完成了。

输出console.log(d.toLocaleString(d.setDate(d.getDate()+2)));

其它时间部分的计算也是同理,比如年份、月份、小时、分钟、秒、毫秒。

 

说到毫秒,还可以使用getTime()方法获取到对象 1970 年 1 月 1 日至今的毫秒数。

再对毫秒进行计算,计算后再转回来。原理都是从时间格式中得到数字再计算;

 

 

控制器中时间计算:

在控制器中似乎可以更直接一点

方法是:AddYears();//年份的加减

AddMonths();//月份的加减

AddDays();//日期的加减

AddHours();//小时的加减

AddMinutes();//分钟的加减

AddSeconds();//秒的加减

AddMilliseconds();//毫秒的加减

 

用法:DateTime dt = DateTime.Now; //首先我们需要DateTime的变量,你可以把你的符合格式的string类型数据直接Convert.ToDateTime(),这里我就用当前日期

dt.AddYears(3); //增加3年

dt.AddMonths(-2);//减少两个月

dt.AddDays(-20);//减少20天

dt.AddHours(+20);//增加20小时

dt.AddMinutes(10);//增加10分钟

 

整体的话

DateTime time1 =new DateTime(1982,4,24,14,23,06);

DateTime time2 =new DateTime(1982,1,21,8,16,32);

 

TimeSpan ts= time2.Subtract(time1);

string timespan = "相差:"

+ts.Days.ToString()+"天"

+ts.Hours.ToString()+"小时"

+ts.Minutes.ToString()+"分钟"

+ts.Seconds.ToString()+"秒";

 

是不是很简单。

你可能感兴趣的:(2019-7-8)