【问题标题】:How to find the day, month and year with moment.js如何使用 moment.js 查找日、月和年
【发布时间】:2014-09-19 17:08:27
【问题描述】:

2014-07-28

在给定上述日期格式的情况下,如何使用moment.js 找到monthyearday

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

【问题讨论】:

    标签: javascript momentjs


    【解决方案1】:

    我知道这已经得到了回答,但我偶然发现了这个问题,并沿着使用 format 的路径走下去,它有效,但是当我想要整数时,它将它们作为字符串返回。

    我刚刚意识到 datemonthyear 方法会为每个方法返回实际整数。

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

    【讨论】:

    • 它不是 .day() 而是 .date() 来获取当月的当前日期。
    • month() 是从零开始的,而 date() 不是。对于许多应用程序,您需要moment().month() + 1
    【解决方案2】:

    这是一个你可以使用的例子:

     var myDateVariable= moment("01/01/2019").format("dddd Do MMMM YYYY")
    
    • dddd : 全天名称

    • 执行:一个月中的哪一天

    • MMMM:月份全名

    • YYYY : 4 位数年份

    更多信息:

    https://flaviocopes.com/momentjs/

    【讨论】:

      【解决方案3】:

      我正在使用 moment().date()moment().month()moment().year()momentjs 的专用函数获得 daymonthyear

      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()

      【讨论】:

        【解决方案4】:

        如果你正在寻找字符串值的答案,试试这个

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

        【讨论】:

          【解决方案5】:

          试试看:

          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

          【讨论】:

          • 请注意,所有这些值都是一个字符串,而不是您可能期望的数字
          • 这个减号是将值转换为字符串。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-11-19
          • 1970-01-01
          相关资源
          最近更新 更多