我经常遇到这样的情况:我想在 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/