我i18n在组件中初始化了翻译对象(在应用程序中加载的第一个组件).所有其他组件都需要相同的对象.我不想在每个组件中重新初始化它.怎么回事?使它可用于窗口范围没有帮助,因为我需要在render()方法中使用它.
请为这些问题建议一个通用的解决方案,而不是i18n特定的解决方案.
Globalize.js允许您根据应用的当前区域性解析日期字符串
var date = Globalize.parseDate("17/07/2013"); //Wed Jul 17 00:00:00 PDT 2013
Run Code Online (Sandbox Code Playgroud)
我想做的是解析DateTime.javascript Date对象处理这个,我很惊讶Globalize.js库没有.
var date = new Date("07/17/2013 11:55 pm"); //Wed Jul 17 23:55:00 PDT 2013
var date = Globalize.parseDate("07/17/2013 11:55 pm"); //null
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?我倾向于自己解析时间部分.是否有另一个扩展的库Globalize.js提供这种功能?我环顾四周但却找不到多少.
更新w /接受的答案
如果您知道日期所在的格式,则可以解析日期.
var date = Globalize.parseDate("17/07/2013 11:55 pm", "MM/dd/yyyy hh:mm tt");
//date = null
Run Code Online (Sandbox Code Playgroud)
在我的示例中,日期将为null,因为它期望时间段的格式为a.m或p.m..一旦我改变了,我就能解析一个日期时间.
var date = Globalize.parseDate("17/07/2013 11:55 p.m.", "MM/dd/yyyy hh:mm tt");
//date = Wed Jul 17 23:55:00 PDT 2013
Run Code Online (Sandbox Code Playgroud)
注意:这仅适用于弃用的 Globalize …
如何在html Web应用程序中使用Globalize 1.0.
我需要使用Globalize 1.0支持获取以下信息
如何使用Globalize 1.0支持创建简单示例.
如何使用Globalize 1.0支持以及如何动态更改符号来获取默认货币和百分比符号
如何获取指定文化的货币/百分比值的正/负模式以及如何动态更改模式
如何获取指定区域性的默认日期格式.
如何获取指定区域性的默认组分隔符和小数点分隔符
如果您有问题的任何样本或代码段,请分享.
如果可能的话,用Globalize 1.0分享简单的样本
谢谢.....
Gobala
我正在研究React/Webpack/Globalize应用程序.在开发模式中,事情是好的(尽管Globalize坚持编译所有语言环境而不是我选择的语言环境,但这是另一天的另一个问题).
但是,当我production: true在我的webpack配置中设置时,我在运行时遇到以下错误npm run build
> webpack --config webpack.prod.config.js
/opt/app/ui/node_modules/globalize-webpack-plugin/GlobalizeCompilerHelper.js:72
throw e;
^
Error: No formatters or parsers has been provided
Run Code Online (Sandbox Code Playgroud)
我的印象是globalize webpack插件用于处理预编译.知道我为什么会看到这个错误吗?当我设置的production: false东西编译正常.
我的插件设置是:
new GlobalizePlugin({
production: true,
developmentLocale: "en",
supportedLocales: [ "en"],
output: "i18n/[locale].[hash].js"
}),
Run Code Online (Sandbox Code Playgroud)
当文件更改并且webpack dev服务器重建时,我收到很多这些消息,表明我没有使用的语言环境的重新编译:
[461] ./~/cldr-data/main/es-PY/dateFields.json 15 kB {0} [optional]
[462] ./~/cldr-data/main/es-SV/dateFields.json 15 kB {0} [optional]
[463] ./~/cldr-data/main/es-US/dateFields.json 15 kB {0} [optional]
[464] ./~/cldr-data/main/es-UY/dateFields.json 15 kB {0} [optional]
[465] ./~/cldr-data/main/es-VE/dateFields.json 15 kB {0} [optional]
[466] ./~/cldr-data/main/es/dateFields.json 15 kB {0} [optional] …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用jQuery UI中的示例,例如这个.我想使用全球化函数(例如,对于货币字段),但似乎Globalize.js经历了一次重大的API更改,因此UI示例中使用的代码不适用于Globalize版本我下载了.例如,jQuery UI依赖于该版本中不存在的Globalize.parseFloat函数.
显然jQuery UI使用的是Globalize.js的旧版本,但我该如何下载呢?我没有找到任何关于API的信息,也没有关于API的更改.我可以下载jQuery UI包含的JS文件,显然,但我希望有一个"更官方"的解决方案.
是否可以使用globalize插件本地化jquery datapicker(https://github.com/jquery/globalize)?
我试过这种方式
// get a date format
var dt = Globalize.culture().calendar.patterns.d;
$('#dp1').datepicker({
dateFormat : dt
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为datepicker和globalize插件使用两种格式不同.
我希望日期为月份2位数,日期2位数和年份4位数,因此在jquery中日期格式必须为"dd/mm/yy".但全球化使用不同的日期格式:en-Us - > M/d/yyyy it-IT - > dd/MM/yyyy
globalization jquery localization jquery-ui-datepicker javascript-globalize
我正在尝试使用Globalize进行适当的本地化自动格式化数字.当用户输入数值时,我需要Globalize来读取它,以正确的格式解析它,然后在用户输入的字段中输出它.
我试过这样:
$(document).on('change','.format-me',function(){
var value = $(this).val();
Globalize.culture("en-US");
console.log(Globalize.format(value));
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为记录的数字看起来与用户输入的数字完全相同.为什么Globalize不会根据需要更改格式?
javascript ×2
jquery ×2
localization ×2
culture ×1
datetime ×1
jquery-ui ×1
node.js ×1
npm ×1
reactjs ×1
webpack ×1