.day() 使用 Moment.js 返回错误的月份日期

问题描述 投票:0回答:4

我正在使用 Moment.js 解析字符串并分别获取日、月和年:

var date = moment("12-25-1995", "MM-DD-YYYY");
var day = date.day();        

但是,

day
不是 25,而是 1。正确的 API 方法是什么?

javascript datetime momentjs
4个回答
171
投票

正确使用的函数是

.date()
:

date.date() === 25;

.day()
为您提供星期几。这与 date 对象上的 javascript
.getDate()
.getDay()
函数类似。

如果您想获取月份和年份,可以使用

.month()

.year()
 函数。


11
投票
您可以使用

moment().format('DD')

 获取月份中的哪一天。

var date = +moment("12-25-1995", "MM-DD-YYYY").format('DD'); // notice the `+` which will convert // the returned string to a number.

祝你好运...


10
投票
如何获取部分日期:

var date = moment("12-25-1995", "MM-DD-YYYY"); if (date.isValid()) { day = date.date(); console.log('day ' + day); month = date.month() + 1; console.log('month ' + month); year = date.year(); console.log('year '+ urlDateMoment.year()); } else { console.log('Date is not valid! '); }
    

1
投票

.day()

,获取从星期一开始输出值 ( 1 - 7 ) 的星期几。

如果有一天

    周一将输出1
  1. 周二将输出2
  2. 周三将输出3
  3. 周四将输出4
  4. 周五将输出5
  5. 周六将输出6
  6. 周日将输出7
要获取 @David 提到的月份中的某一天,您需要使用 .date() 例如:

const today = moment().date()
    
© www.soinside.com 2019 - 2024. All rights reserved.