-1

我正在使用Globalize.js来格式化日期。但它不适用于德国文化 (de-DE) 和日期格式“dd/MM/yyyy”

我已将系统区域设置更改为德国文化,并将浏览器文化更改为德语。

我正在使用以下行来转换日期:

Globalize.format(new Date(), "dd/MM/yyyy", "de-DE");

预期输出是21/04/2015,但实际输出是21.04.2015

为什么用.符号而不是/符号转换日期?

4

2 回答 2

2

该库也将/其视为本地化特定分隔符的占位符。对于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>

于 2015-04-21T04:30:45.427 回答
1

原因是因为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>

于 2015-04-21T04:29:56.020 回答