【问题标题】:get the name of the Day from first day of the month in Moment.js在 Moment.js 中从当月的第一天开始获取日期的名称
【发布时间】:2018-06-22 14:29:25
【问题描述】:

我正在尝试使用 Moment.js 在 JS 中构建日历

我正在尝试获取该月第一天的名称,例如,

1.6.2018 是:“星期五”

我试过了,但是第一个日期正在成为月份第一天的对象(),我只是不知道如何从这个对象中提取日期的名称

{
    let date=;
    let firstDate;
    date=moment().format();
    console.log(date);
    firstDate=moment(date).startOf(`month`);
    console.log(firstDate)
    firstDate=moment(firstDate).date(1);
    console.log(firstDate);
}

也许你对我有更好的解决方案?

【问题讨论】:

    标签: javascript date calendar momentjs


    【解决方案1】:

    如果你不想打扰那一刻,你可以这样做:

    console.log("Default:",
      new Date(2018,5,1).toLocaleDateString(undefined, { weekday: 'long' })
    )
    
    console.log("English:",
      new Date(2018,5,1).toLocaleDateString("en-US", { weekday: 'long' })
    );
    
    
    console.log("Hebrew:",
      new Date(2018,5,1).toLocaleDateString("he-IL", { weekday: 'long' })
    )

    【讨论】:

    • 如果您将语言设置为 undefined,结果将采用浏览器默认语言。 ;-)
    • ECMA-402 表示如果语言环境未定义,那么它应该使用“a ... 宿主环境当前语言环境的语言标记”。当被称为new Date().toLocaleString(undefined, {weekday: 'long'}) 时,它对我来说很好。
    • 啊。我以前从未将 undefined 传递给任何东西。
    • 是的,你必须传递值 undefined,你不能直接忽略它(我曾经认为这也应该有效)。 :-)
    【解决方案2】:

    这样获取当月第一天的名字怎么样:

    moment().startOf('month').format('dddd');
    

    当然,这只会为您提供当前月的第一天,如果您想更改月份,只需在该月内的任何其他日期/时刻致电.startOf('month').format('dddd')

    无论如何,您要查找的是.format('dddd'),它将返回某一时刻的名称;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      相关资源
      最近更新 更多