javascript - 如何向 JavaScript Date 对象添加年、月、日、小时、分钟或秒?

标签 javascript date datetime time date-arithmetic

我经常遇到这样的情况:我想在 JavaScript 中向 Date 对象添加年、月、日、小时、分钟或秒。对于每个特定“添加”有很多方法描述(编辑:例如添加日期),但我在 stackoverflow 上还没有找到完整的解决方案,所以我决定在 Q&A 中分享我的方法风格。 My own answer是一种不使用框架处理问题的方法。

<小时/>

评论和答案中建议的问题的其他解决方案:

处理问题的框架/库:

moment.js(感谢 JonnyIrving/Eugene Mihaylin/Pac0)

https://blog.bitsrc.io/9-javascript-date-time-libraries-for-2018-12d82f37872d(感谢 RobG)

fecha.js(感谢 RobG)

特定添加主题的示例(感谢 Pac0):

天数:Add days to JavaScript Date

分钟:How to add 30 minutes to a JavaScript Date object?

时间:Adding hours to Javascript Date object?

月份:JavaScript function to add X months to a date

<小时/>

(我不会将任何答案标记为已接受,因为我认为有多种有效的方法)

最佳答案

你可能不愿意引入一个库来解决这个问题,我知道有时最好用普通的方式来做,但就我个人而言,我发现在 JS 中处理日期和时间的所有令人头疼的问题都变得容易多了您引入了 Moment.js 库。

您可以在此处查看文档:https://momentjs.com/docs/#/parsing/date/

下面我展示了它在添加时间单位方面的功能,但正如您从文档中看到的那样,它的作用远不止于此。例如,它非常适合格式化日期对象。

moment(new Date());

var nowPlusYear = moment().add(1, 'year');
var nowPlusMonth = moment().add(1, 'month');
var nowPlusMinute = moment().add(1, 'minute');

console.log("In 1 year it will be", nowPlusYear);
console.log("In 1 month it will be", nowPlusMonth);
console.log("In 1 minute it will be", nowPlusMinute);
<script src="https://cdn.jsdelivr.net/momentjs/2.10.6/moment-with-locales.min.js"></script>

无论如何,请检查一下,看看您的想法。

希望这有帮助!

关于javascript - 如何向 JavaScript Date 对象添加年、月、日、小时、分钟或秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53338199/

相关文章:

javascript - 如何在 javascript 中获取设备电池电量

mysql - 当日期存储为 unix 时间戳时,如何计算 1967 年 9 月 3 日美国东部时间出生的人数?

date - 如何在 Swift 中解析/创建格式为小数秒 UTC 时区(ISO 8601、RFC 3339)的日期时间戳?

javascript - jQuery .on 更改事件绑定(bind)但不触发

javascript - 使用 jQuery 单击时显示 div

java - 在 Java 中将日期格式 dd-MM-yyyy 更改为 yyyy-MM-dd

c# - GetWeekOfYear 返回 2 而它应该为日期 02.01.2012 返回 1

java - 使用 JODA 进行日期格式化 - AM 格式错误

javascript - 更新投票计数器 rails ajax 请求

MySQL LEFT JOIN 日期与顺序