从时刻对象javascript获取日期

时间:2018-09-10 03:50:44

标签: javascript momentjs

我有一个力矩数据对象,我想做的就是获取日期数字,例如如果给出了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)

2 个答案:

答案 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());