对于一般的项目或系统来说,都会时间的记录,一般都是记录登录的那一瞬间和登录的时长
不啰嗦,上代码。在控制器给一个方法
public ActionResult GetLoginTimes()
{
//获取Session中的时间//获取登录那一刻的时间
string loginTime = Session["ServerTime"].ToString();
//转为datetime
DateTime dateTimeLogin = Convert.ToDateTime(loginTime);
DateTime dateTimeNow = DateTime.Now;//获取当前时间
//求时间差
TimeSpan ts = dateTimeNow - dateTimeLogin;
//声明返回变量
string str = "";
if (ts.Hours > 0)
{
str = ts.Hours.ToString() + "小时 " + ts.Minutes.ToString() + "分钟 " + ts.Seconds + "秒";//x小时x分钟x秒
}
if (ts.Hours == 0 && ts.Minutes > 0)
{
str = ts.Minutes.ToString() + "分钟 " + ts.Seconds + "秒";//x分钟x秒
}
if (ts.Hours == 0 && ts.Minutes == 0)
{
str = ts.Seconds + "秒";//x秒
}
return Json(str, JsonRequestBehavior.AllowGet);
}
}
其实主要的还是要获取它的登录信息,记录当前的时间
string strServerTime = Session["ServerTime"].ToString();
ViewBag.serverTime = strServerTime;
//页面载入事件
$(function () {
//执行时长计算方法
time();
layui.use('layer', function () {
layer = layui.layer;
})
});
//执行时长计算方法
function time()
{
$.ajax({
type: "post",
url: "/Main/GetLoginTimes",
dataType: "json",
success: function (data) {//回调函数
$("#LoginTime").html(data);
}
});
//一次性计时器
setTimeout("time()", 1000);
}
捕获@ViewBag.serverTime输出
<a class="dropdown-item" href="javascript:void(0)">
<i class="fas fa-fw fa-clock"></i> 登录时间:@ViewBag.serverTime
</a>
<a class="dropdown-item" href="javascript:void(0)">
<i class="fas fa-fw fa-stopwatch"></i> 登录时长: <span id="LoginTime"></span>
</a>
作者:吴炳耀