我有一个力矩数据对象,我想做的就是获取日期数字,例如如果给出了2018-12-31,它应该返回365。
我目前正在做的是这个,但是我觉得这是一种更加蛮力的方法,因为我不得不一遍又一遍地运行此功能。通过momentjs库,还有更优雅的方法吗?
var day = 25;
var mon = 12;
var year = 2018;
var sum = 0;
var days = 0;
var month_day = [31,28,31,30,31,30,31,31,30,31,30,31];
for ( var i = 0; i < mon; i++){
sum += month_day[i];
}
days = sum - (month_day[mon-1] - day);
console.log(days)
答案 0 :(得分:15)
您可以使用dayOfYear()
函数:
const day = 25;
const month = 12 - 1; // months are 0-based when using the object constructor
const year = 2018;
const date = moment({day, month, year});
console.log(date.dayOfYear()); // 359
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
答案 1 :(得分:1)
moment
文档很有帮助:https://momentjs.com/docs/#/get-set/day-of-year/
var day = 25;
var mon = 12;
var year = 2018;
console.log(moment().year(year).month(mon).date(day).dayOfYear());