我对现代Javascript(我大约十年前一直使用它)相对较新,并且遇到了globalize.js的问题。
这是我与全球化有关的内容
<script src ="{% static "js/jquery-2.1.0.min.js" %}" type="text/javascript"></script>
<script src ="{% static "js/node_modules/globalize/dist/globalize.min.js" %}" type="text/javascript"></script>
<script>
$.get( "{% static "json/en/ca-gregorian.json" %}", Globalize.load );
$.get( "{% static "json/de/ca-gregorian.json" %}", Globalize.load );
$.get( "{% static "json/supplemental/likelySubtags.json" %}", Globalize.load );
$.get( "{% static "json/supplemental/timeData.json" %}", Globalize.load );
$.get( "{% static "json/supplemental/weekData.json" %}", Globalize.load );
console.log("short:" + Globalize.format( new Date( 2010, 10, 30, 17, 55 ), { datetime: "short" }));
console.log("medium:" + Globalize.format( new Date( 2010, 10, 30, 17, 55 ), { datetime: "medium" }));
console.log("long:" + Globalize.format( new Date( 2010, 10, 30, 17, 55 ), { datetime: "long" }, "de" ));
</script>
这是输出:
short:11/30/2010 5:55:00 PM (index):21
medium:11/30/2010 5:55:00 PM (index):22
Uncaught TypeError: Cannot read property 'calendar' of null
正如您所看到的,我遇到了两个问题 - {datetime:}参数似乎根本不会影响输出。更重要的是,我无法弄清楚为什么它不能将日期翻译成其他语言。我错过了一个包含?其问题列表中的其他主题指向这是我需要的所有内容,以便本地化日期。
答案 0 :(得分:0)
我建议你改用它:
new Date().toLocaleDateString('de', { year: 'numeric', month: 'long', day: 'numeric' })
甚至:
new Date().toLocaleDateString(Globalize.culture().name, { year: 'numeric', month: 'long', day: 'numeric' })
Globalize.culture().name
假设您已手动或通过为每个文件导入globalize.culture.{culture}[.min].js
文件为全局化添加了可能的文化,例如globalize.culture.fr.min.js
答案 1 :(得分:0)