我正在使用Globalize.js来格式化日期。但它不适用于德国文化 (de-DE) 和日期格式“dd/MM/yyyy”
我已将系统区域设置更改为德国文化,并将浏览器文化更改为德语。
我正在使用以下行来转换日期:
Globalize.format(new Date(), "dd/MM/yyyy", "de-DE");
预期输出是21/04/2015
,但实际输出是21.04.2015
为什么用.
符号而不是/
符号转换日期?
我正在使用Globalize.js来格式化日期。但它不适用于德国文化 (de-DE) 和日期格式“dd/MM/yyyy”
我已将系统区域设置更改为德国文化,并将浏览器文化更改为德语。
我正在使用以下行来转换日期:
Globalize.format(new Date(), "dd/MM/yyyy", "de-DE");
预期输出是21/04/2015
,但实际输出是21.04.2015
为什么用.
符号而不是/
符号转换日期?
该库也将/
其视为本地化特定分隔符的占位符。对于de-DE
,常见的分隔符是.
而不是/
。
如果您仍然想保留斜杠,可以引用它们以禁用替换:
console.log(Globalize.format(new Date(), "dd/MM/yyyy", "de-DE"));
console.log(Globalize.format(new Date(), "dd'/'MM'/'yyyy", "de-DE"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/globalize/0.1.1/globalize.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/globalize/0.1.1/cultures/globalize.culture.de-DE.js"></script>
原因是因为21.04.2015
是传统的德国日期格式。请参阅按国家/地区划分的日期格式并向下滚动至Germany
。
如果你想做它21/04/2015
,你可以试试这个:
Globalize.format(new Date(), "dd/MM/yyyy"); // without the culture
下面是一个可运行的代码片段,可以看到它的实际效果:
var date = document.getElementById('date');
date.innerHTML = Globalize.format(new Date(), "dd/MM/yyyy");
<div id="date">this becomes the date in the correct format</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/globalize/0.1.1/globalize.min.js"></script>