我的网络应用程序支持两种语言:英语和法语,其中日期显示在每个页面的标题中。
现在,发生的事情是根据用户系统的区域设置显示日期。如果最终用户系统区域设置是斯洛伐克,则日期将以斯洛伐克显示。如果是英语,则将以英语显示。无论 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
)
现在,我关心的是我想以应用程序运行时的格式显示日期。如果以法语运行,则应以法语显示,如果以英语运行,则应以英语显示。独立于用户系统的区域设置。
当前日期格式为(英语语言环境):2013 年 4 月 25 日星期四 5:28:59 PM
对于其他区域设置,日期和月份将相应转换。
如果我使用value.toString()
那么它就会以这种格式显示
2013 年 4 月 25 日星期四 17:28:59 GMT+0530(印度标准时间)
我不想要。我想以当前格式显示,但按照应用程序语言(en/fr)。
请提出宝贵建议。
最佳答案
与我几个小时前给出的答案几乎相同:JavaScript - Get system short date format
没有完美的解决方案,但由于您想要由您声明的修复格式,我建议您使用 toISOString()
(如果它适合您的需求),或 getUTCDate()
code>、getUTCMonth()
和 getUTCDay()
并将这些内容连接到您选择的字符串。
关于javascript - 显示日期独立于系统区域设置并根据应用程序语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16215237/