上次使用JavaScript登录后的天数
我想计算DaysSinceLastLogin,并想使用以下功能(在google上找到): 所以在我的场景中,我的上次使用JavaScript登录后的天数,javascript,Javascript,我想计算DaysSinceLastLogin,并想使用以下功能(在google上找到): 所以在我的场景中,我的firstdate格式是字符串:“2020-03-06 18:20:36:187” 而secondDate将是今天的日期,因此基本上我需要在上述函数中传递firstDate和secondDate,但格式不同,如何将firstDate和今天的日期转换为所需的格式?构造函数接受日期字符串作为第一个参数。如果使用的构造函数没有任何参数,则将使用当前日期对其进行初始化 const oneDay
firstdate
格式是字符串:“2020-03-06 18:20:36:187”
而secondDate
将是今天的日期,因此基本上我需要在上述函数中传递firstDate
和secondDate
,但格式不同,如何将firstDate
和今天的日期转换为所需的格式?构造函数接受日期字符串作为第一个参数。如果使用的构造函数没有任何参数,则将使用当前日期对其进行初始化
const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds
const lastLoginDate = new Date("2020-03-06 18:20:36:187");
const todaysDate = new Date(); // Current date
const diffDays = Math.round(Math.abs((lastLoginDate - todaysDate) / oneDay));
但是,我建议使用一个库,例如在javascript中处理DateTime操作,因为即使是
注意:使用日期构造函数解析日期字符串(和
由于
浏览器差异和不一致
或者,您可以在服务器端处理日期时间操作(例如PHP),以确保一致的用户体验
最后,我还将介绍有关在JS中解析日期字符串的更多详细信息,这可能是您最初应该搜索的内容,而不是创建一个新问题。Use如果
new Date()
不够,因为它返回小时、分钟、秒……,我建议您尝试使用JS中的矩框架。。。,然后我可以帮忙。只需执行todaysDate.setHours(0,0,0,0)
,它会将任意时间设置为0,给出纯日期。@Liam我决定在写解释时先发布解决方案,以防OP是在快速响应后发布的。我现在更新了我的答案。
const oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds
const lastLoginDate = new Date("2020-03-06 18:20:36:187");
const todaysDate = new Date(); // Current date
const diffDays = Math.round(Math.abs((lastLoginDate - todaysDate) / oneDay));