如何使用 momentjs 获取特定的日期格式?

How to get a specific date format using momentjs?

我想用本地化的字符串以特定格式显示点击的日期,但是虽然它显示了正在设置的语言环境,但我得到的字符串是这样的:

Fri Jun 05 2015 00:00:00 GMT+0300 (EEST)

我想用本地化的词将其变成 Friday, 5. June 2015。 在 clickEvents 上,当我 console.log target 时,我在 date._d 下得到了错误的字符串,尽管在日期 date._locale 下我也看到了本地化的内容。 而且我真的不明白如何在使用target.date.toDate()后更改格式。 我在 CLNDR 发起的 clickEvents:

clickEvents: {
    click: function (target) {
        $('.selected-date').text(target.date.toDate());
        console.log(target);
    }
},

不确定这是 Moment 还是 CLNDR 问题,但我倾向于 Moment,因为 CLNDR 正在使用它。

这就是 console.log 返回的内容:

{
  element: div.day.today.calendar-day-2015-06-05.calendar-dow-4,
  events: Array[0], date: Moment,
  date: Moment {
    _d: Fri Jun 05 2015 00:00:00 GMT+0300 (EEST)
    _f: "YYYY-MM-DD "
    _i: "2015-06-05"
    _isAMomentObject: true
    _isUTC: false
    _locale: Locale
    _pf: Object
    __proto__: Moment
    element: div.day.today.calendar-day-2015-06-05.calendar-dow-4
    events: Array[0]
    __proto__: Object
  }
}

类似的东西。任何帮助表示赞赏。

当涉及到本地化日期时,您不能真正 "roll your own" 因为每个区域设置都有自己的一组本地化日期字符串。这是因为不同国家/地区显示的日期不同。

您为什么不想使用国家/地区的格式?如果其他国家/地区的人使用您的网站,他们会发现不同的日期格式很奇怪。

您可以通过以下方式获得与您正在寻找的相似的内容:

moment(date).format('dddd, LL');

对于美国,这将打印

Thursday, September 4 1986