计算时间差

博客介绍了使用JS实现记录开始时间并计算与当前时间差的功能。先将开始时间记录在Session里,再将字符串类型的时间转换为DateTime类型进行计算。还介绍了让结果自动更新显示的方法,以及更精确直观地计算和显示时间差到天、时、分、秒。

大家都知道时间是很重要的,所以你能在很多地方发现显示时间。但有时知道了当前时间还不够,比如你决定做某件事一个小时,知道了当前时间却忘记了开始时间。这时就需要一个记录开始时间的功能,最好就是显示出已经开始了多久。

废话不多说,开始做这样一个功能吧。经前文所述,功能的前提是记录开始时间。若是在一个项目中,通常是记录在Session里以便取用。

Session["dateTime"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm");//记录开始时间;

//获取登录时间  

string date1 = Session["dateTime"].ToString();

 

//将字符串类型的登录时间转换成 DateTime 类型

DateTime date1Time= Convert.ToDateTime(date1);

 

//获取当前时间

DateTime date2Time= DateTime.Now;

 

//计算时间差

TimeSpan date3Time = date2Time - date1Time;

 

//将时间差转换成分钟的格式

double minutes = date3Time.TotalMinutes;

 

//转换成int类型

int intMinutes = Convert.ToInt32(minutes);

这样就获得了当前时间距开始时间的分钟数,最后输出就行了。

有了这样一个方法后,还要让它能够自动更新显示。这就要使用到计时器方法了,设置每隔1分钟调用一次方法。

那是不是可以再精确一点、再直观一点,可以的。

同样是计算出时间差 date3Time;

//计算出相差天数

var days=Math.floor(date3Time /(24*3600*1000));

 

//计算出小时数

 

var leave1= date3Time %(24*3600*1000);    //计算天数后剩余的毫秒数

var hours=Math.floor(leave1/(3600*1000));

 

//计算相差分钟数

var leave2=leave1%(3600*1000);        //计算小时数后剩余的毫秒数

var minutes=Math.floor(leave2/(60*1000));

 

//计算相差秒数

var leave3=leave2%(60*1000);      //计算分钟数后剩余的毫秒数

var seconds=Math.round(leave3/1000);

//显示在提示框

alert(" 相差 "+days+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒");

显示在页面//记录登录时长的变量 var strLoginTime = "";

                    if (days > 0) {

                        strLoginTime += days + "天";

                    }

                    if (hours > 0) {

                        strLoginTime += hours + "小时";

                    }

                    if (minutes > 0) {

                        strLoginTime += minutes + "分钟";

                    }

                    strLoginTime += seconds + "秒";

 

                    //将计算出来的登录时长放到主页面

                    $("#LoginTime").text(strLoginTime);

当然计时器是少不了的,间隔时间为1秒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值