【问题标题】:How to get a specific date format using momentjs?如何使用 momentjs 获取特定的日期格式?
【发布时间】:2015-08-20 07:32:18
【问题描述】:

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

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

我想用本地化的词把它变成Friday, 5. June 2015。 在console.log target 的clickEvents 上,我在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
  }
}

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

【问题讨论】:

    标签: javascript date calendar momentjs


    【解决方案1】:

    当涉及到本地化日期时,您不能真正“自己动手”,因为每个语言环境都有自己的一组本地化日期字符串。这是因为不同国家/地区显示的日期不同。

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

    您可以获得与您正在寻找的相似的内容:

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

    对于美国,那会打印出来

    Thursday, September 4 1986
    

    【讨论】:

    • 这实际上正是我所追求的。谢谢!
    猜你喜欢
    • 2023-01-29
    • 2019-11-15
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多