如何使用moment.js查找日期,月份和年份


79

2014-07-28

如何找到的monthyeardaymoment.js上面给出的日期格式?

var check = moment(n.entry.date_entered).format("YYYY/MM/DD");
var month = check.getUTCMonth();
var day = check.entry.date_entered.getUTCDate();
var year = check.entry.date_entered.getUTCFullYear();

Answers:


120

只需尝试:

var check = moment(n.entry.date_entered, 'YYYY/MM/DD');

var month = check.format('M');
var day   = check.format('D');
var year  = check.format('YYYY');

JSFiddle


2
记录所有值都是一个字符串,而不是您可能期望的数字
TroodoN-Mike

这样做的缺点是它将值转换为字符串。
Andris

115

我知道已经回答了这个问题,但是我偶然发现了这个问题,并走了using的方法format,该方法可以工作,但是当我想要整数时,它将以字符串形式返回。

我刚刚意识到时刻带有datemonth并且year方法会为每个方法返回实际的整数。

moment().date()
moment().month()  // jan=0, dec=11
moment().year()

9
它不是.day()而是.date()来获取每月的当前日期。
luiscvalmeida

42
month()从零开始,但date()不是。对于许多应用,您将需要moment().month() + 1
2Toad

21

如果您正在寻找字符串值的答案,请尝试以下操作

var check = moment('date/utc format');
day = check.format('dddd') // => ('Monday' , 'Tuesday' ----)
month = check.format('MMMM') // => ('January','February.....)
year = check.format('YYYY') // => ('2012','2013' ...)  

11

我得到daymonthyear使用专用的功能瞬间()日期() 时刻()月()矩()。今年()momentjs

let day = moment('2014-07-28', 'YYYY/MM/DD').date();
let month = 1 + moment('2014-07-28', 'YYYY/MM/DD').month();
let year = moment('2014-07-28', 'YYYY/MM/DD').year();

console.log(day);
console.log(month);
console.log(year);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>

我不知道为什么@Chris Schmitz答案有48个投票不是100%正确的。

月采用数组形式,从0开始,因此要获取确切的值,我们应该使用 1 + moment().month()


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.