2015-04-21 50 views
-1

我使用Globalize.js来格式化日期。但它与德国文化(德DE)和日期格式“dd/MM/yyyy”无法正常工作Globalize.format未将日期格式化为“dd/MM/yyyy”格式

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

我使用的是以下行转换日期:

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

预期输出为21/04/2015,但实际产量21.04.2015

为什么日期被转换与. symbole代替/符号?

+0

你能提供一些可重复的代码? –

回答

1

原因是因为21.04.2015是德国传统的日期格式。请参阅Date Format By Country并向下滚动到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>

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>

+0

嗨Lonowski,它的工作很好。非常感谢.... –