【问题标题】:display date independent of system locale and as per the application language显示日期独立于系统区域设置和应用程序语言
【发布时间】:2013-04-19 09:01:57
【问题描述】:

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

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

请提出宝贵的建议。

【问题讨论】:

标签: javascript datetime locale


【解决方案1】:

几小时前我在这里给出的答案几乎相同:JavaScript - Get system short date format
没有完美的解决方案,但由于您需要您声明的修复格式,我建议您使用 toISOString() 如果它适合您需要,或 getUTCDate()getUTCMonth()getUTCDay() 并将这些人连接到您选择的字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多