2013-04-25 42 views
1

我的web应用程序支持两种语言:英语&法语,其中的日期显示在每个页面的标题中。显示日期与系统区域设置无关,并且与应用程序语言无关

现在,按照用户系统的区域设置显示发生了什么日期。如果最终用户系统区域设置为斯洛伐克,则日期显示在斯洛伐克。如果是英文,则会以英文显示。无论使用哪种语言,Web应用程序都以英文或法文运行。这是因为我使用

dateString.toLocaleString() 

下面是代码:

var reg = new RegExp("[,]+", "g"); 
var tableau = theDate.split(reg);    
var value = new Date(tableau[0], (parseInt(tableau[1], 10) - 1), tableau[2], tableau[3], tableau[4], tableau[5]); 
return value.toLocaleString(); 

其中theDate是逗号分隔的字符串,其中包含月,日,年,时间(如10.21,2012,51,50,32

现在,我的担心是我想以我的应用程序运行的格式显示日期。如果以法语运行,则应以法语显示或以英文显示,然后以英文显示。独立于用户系统的区域设置。

当前日期格式为(英文区域设置):Thursday, April 25, 2013 5:28:59 PM 对于其他区域设置,日期和月份将相应地进行转换。

如果我使用value.toString()则显示的格式

Thu Apr 25 2013 17:28:59 GMT+0530 (India Standard Time)

,我不想要的。我想以当前格式显示,但按照应用程序语言(en/fr)显示。

请提供宝贵的建议。

+0

检查此链接可能会对您有所帮助http://www.onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/ – 2013-04-25 12:58:41

回答

1

几乎相同的回答我几个小时前给了这里:JavaScript - Get system short date format
有没有完美的解决方案,但是,只要你想通过你宣布一个固定的格式,我建议要么使用toISOString(),如果它符合您的需求,或者getUTCDate()getUTCMonth()getUTCDay(),并将这些家伙连接到一个你选择的字符串。

相关问题