首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在几天前在javascript中获取日期

如何在几天前在javascript中获取日期
EN

Stack Overflow用户
提问于 2019-12-20 07:12:03
回答 4查看 1K关注 0票数 0

所以,我有这个10 Dec, 2019T14:07:21格式的日期来自后端,我需要的是找到多少天前。

就像今天是20,所以今天的日期是0天前。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-12-20 07:21:55

你可以试试这段代码。

代码语言:javascript
运行
复制
var date1 = new Date("12/13/2010");
var date2 = new Date("12/20/2010");
var diffDays = parseInt((date2 - date1) / (1000 * 60 * 60 * 24), 10); 
console.log(diffDays )

票数 1
EN

Stack Overflow用户

发布于 2019-12-20 07:14:50

你试图做的是所谓的“日期差异”,意思是你想要找出两个日期之间的天数差异。首先,您需要从您想要的字符串中创建一个新的日期对象。您可以使用解析日期字符串并返回日期对象的Moment.js库来完成此操作。

代码语言:javascript
运行
复制
var date1 = moment("10 Dec, 2019T14:07:21", "DD MMM, YYYY");
var date2 = new Date() //today date

一个简单的js函数,完成如下所示的功能

代码语言:javascript
运行
复制
function dateDiff(date1, date2) {
    var datediff = date1.getTime() - date2.getTime(); 
    return (datediff / (24*60*60*1000));       
}

dateDiff函数将返回日期之间的差异,因此如果date1是前一天,它将返回负数的天数。为了将其转换为所需的"x天前“格式,只需将结果乘以-1。

票数 1
EN

Stack Overflow用户

发布于 2019-12-20 07:20:02

你可以比较两次约会。消除它们会给您带来毫秒的差异。THose毫秒可以转换为天。

代码语言:javascript
运行
复制
const now = new Date();
// Mimick a backend date
const daysAgo = new Date();
daysAgo.setDate(daysAgo.getDate() - 10);
// Compare both, outputs in miliseconds
const diffMs = now - daysAgo;
// Get the number of days by dividing by the miliseconds in a single day
const daysDiff = Math.round(diffMs/(1000*60*60*24));
console.log(daysDiff)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59421196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档