【问题标题】:How to use Globalize 1.x to parse date如何使用 Globalize 1.x 解析日期
【发布时间】:2015-07-23 06:52:44
【问题描述】:

有人可以告诉我如何使用 Globalize 1.x 根据给定的文化来解析日期吗?不使用 bower 或 node。

我在官方网站上看到了example,但他们在那里使用静态 JSON 静态加载 I18n unicode CLDR。我需要根据用户设置动态加载。 我还在官方页面上看到了"How do I load CLDR data into Globalize"。他们在那里展示了如何以动态方式加载 CLDR。

我的问题是我无法弄清楚我需要哪个 CLDR json 文件来简单地将字符串解析为日期并将日期格式化为相应于给定文化(例如 de-CH)的字符串。

我在任何地方都找不到这种场景的具体而完整的例子。

【问题讨论】:

  • 请看下面我的回答,如果您需要任何进一步的解释,请告诉我。

标签: javascript globalization javascript-globalize


【解决方案1】:

我冒昧地将您的问题分解为以下四个问题:

  1. 如何解析日期?

更多信息https://github.com/jquery/globalize/blob/master/doc/api/date/date-parser.md

// After having fed Globalize on CLDR data, do:
var parser = Globalize.dateParser(pattern);
parser("24.7.2015");
// > "Fri Jul 24 2015 00:00:00" if Globalize.locale("de-CH").
  1. 有哪些可用的语言环境?

Unicode CLDR 在https://github.com/unicode-cldr/ 以 JSON 格式提供,目前提供两种不同的大小:“现代”覆盖(包含 CLDR 小组委员会列为现代覆盖目标的一组语言环境)和“完整”覆盖(其中包含完整的语言环境集,包括相应的现代包中的语言环境)。

每个包的可用语言环境可在此处https://github.com/unicode-cldr/cldr-core/blob/master/availableLocales.json 获得。或者,也可以通过查看此目录找到它:https://github.com/unicode-cldr/cldr-dates-full/tree/master/main 用于“完整”覆盖(类似于“现代”覆盖)。查找匹配器的技术细节可以在https://github.com/rxaviers/cldrjs/blob/master/doc/bundle_lookup_matcher.md找到。

  1. 如何动态加载 CLDR 数据?

除非您实现自己的 ajax 提取器,否则我建议您使用 AMD 或 jQuery。 https://github.com/jquery/globalize/blob/master/doc/cldr.md#how-do-i-load-cldr-data-into-globalize 有每个基本示例。

  1. 我需要加载哪些 CLDR 文件进行日期解析?

https://github.com/jquery/globalize#2-cldr-content的表中,查看“日期模块”+“编号模块”+“核心模块”中的文件。

如有任何其他问题,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 2016-02-15
    • 2020-06-18
    • 2012-01-29
    相关资源
    最近更新 更多