javascript - 如何为多种语言定义新的日期字符串并在 Moment.js 中使用它?

标签 javascript datetime localization momentjs

我成功了changing languages并使用内置的 Long Date FormatsMoment.js 。虽然存在多种格式,但我需要自定义格式。

如何在 Moment.js 中为多种语言定义和使用新格式?

以下是我希望在每种语言中使用的格式:

en: "ddd, MMM D YYYY"
fr: "ddd D MMM YYYY"
ja: "YYYY年M月D日 ddd"

我假设用法是这样的:

moment.lang('fr'); // change language globally
myDateString = moment().format('CUSTOM_STRING_HERE'); // format date

注意:我可以将每个格式字符串与其他字符串一起放入我的语言短语文件中 - 这是我当前正在使用的解决方案 - 但我想知道最好的使用 Moment.js 库执行此操作的方法。

最佳答案

我相信你能做的最好的事情就是这样:

var format;
switch (moment.lang())
{
    case 'fr':
      format = 'ddd D MMM YYYY';
      break;
    case 'jp':
      format = 'YYYY年M月D日 ddd';
      break;
    case 'en':
    default:
      format = 'ddd, MMM D YYYY';
}
myDateString = moment().format(format);

关于javascript - 如何为多种语言定义新的日期字符串并在 Moment.js 中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20649162/

相关文章:

javascript - 在 Angular 2 中的多个组件之间共享 WebSocket 数据的最佳方式?

vb.net - 为什么我无法检查 'DateTime' 是否为 'Nothing' ?

c# - 根据本地时间从数据库中检索记录

swift - 如何在 Swift 中本地化 tableView?

ios - 检查 Localizable.strings 文件是否有效

Javascript - 插入不包含框的复制文本

javascript - 在 React.js 中的组件之间传递变量

ruby-on-rails - 如何让 Rails 3 本地化我的日期格式?

javascript - jQuery 和 jinja2 .data ("")返回未定义

mysql - SQL查询查找连续年份中的工作日