首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在JavaScript中从日期中减去分钟?

如何在JavaScript中从日期中减去分钟?
EN

Stack Overflow用户
提问于 2009-03-23 18:47:28
回答 7查看 186.1K关注 0票数 167

我如何将这段伪代码转换成JS不用担心结束日期来自哪里,除非它是一个有效的JavaScript日期。

代码语言:javascript
复制
var myEndDateTime = somedate;  //somedate is a valid JS date  
var durationInMinutes = 100; //this can be any number of minutes from 1-7200 (5 days)

//this is the calculation I don't know how to do
var myStartDate = somedate - durationInMinutes;

alert("The event will start on " + myStartDate.toDateString() + " at " + myStartDate.toTimeString());
EN

回答 7

Stack Overflow用户

发布于 2009-03-23 19:20:22

您也可以使用get和set分钟来实现它:

代码语言:javascript
复制
var endDate = somedate;

var startdate = new Date(endDate);

var durationInMinutes = 20;

startdate.setMinutes(endDate.getMinutes() - durationInMinutes);
票数 110
EN

Stack Overflow用户

发布于 2017-01-22 23:14:36

moment.js有一些非常方便的方法来操作date对象

.subtract方法允许您通过提供数量和时间单位字符串,从日期中减去一定数量的时间单位。

代码语言:javascript
复制
var now = new Date();
// Sun Jan 22 2017 17:12:18 GMT+0200 ...
var olderDate = moment(now).subtract(3, 'minutes').toDate();
// Sun Jan 22 2017 17:09:18 GMT+0200 ...

Luxon也有一个API来manipulate它自己的DateTime对象。

代码语言:javascript
复制
var dt = DateTime.now(); 
// "1982-05-25T00:00:00.000Z"
dt.minus({ minutes: 3 });
dt.toISO();              
// "1982-05-24T23:57:00.000Z"
票数 16
EN

Stack Overflow用户

发布于 2016-05-27 21:45:32

这是我发现的:

代码语言:javascript
复制
//First, start with a particular time
var date = new Date();

//Add two hours
var dd = date.setHours(date.getHours() + 2);

//Go back 3 days
var dd = date.setDate(date.getDate() - 3);

//One minute ago...
var dd = date.setMinutes(date.getMinutes() - 1);

//Display the date:
var monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var date = new Date(dd);
var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();
var displayDate = monthNames[monthIndex] + ' ' + day + ', ' + year;
alert('Date is now: ' + displayDate);

资料来源:

http://www.javascriptcookbook.com/article/Perform-date-manipulations-based-on-adding-or-subtracting-time/

https://stackoverflow.com/a/12798270/1873386

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

https://stackoverflow.com/questions/674721

复制
相关文章

相似问题

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