显示日期独立于系统区域设置和应用程序语言

时间:2013-04-25 12:50:39

标签: javascript datetime locale

我的网络应用程序支持两种语言:英语和法语,其中日期显示在每页的标题中。

现在,根据用户系统的区域设置显示日期。如果最终用户系统区域设置是斯洛伐克,那么日期将显示在斯洛伐克。如果是英语,则它将以英语显示。无论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)。

请提供宝贵的建议。

1 个答案:

答案 0 :(得分:1)

几个小时前我在这里给出的答案几乎相同:JavaScript - Get system short date format
没有完美的解决方案,但是如果你想要一个你宣布的修改格式,我建议使用{{1}如果它符合您的需求,或toISOString()getUTCDate()getUTCMonth()并将这些人连接到您选择的字符串。