Javascript 设置与区域设置相关的截止日期字符串格式
我知道有很多关于Javascript 设置与区域设置相关的截止日期字符串格式,javascript,parsing,date,Javascript,Parsing,Date,我知道有很多关于JavaScript、Strings和Dates的问题。但是我找不到解决我问题的办法 我正在使用SpringMVC中的dateTime字段。问题是我的后端需要一个特定的日期格式(这不是固定的,如果需要的话我可以更改) 但每个浏览器对所选日期的解析方式都不同,这让我头疼,例如 de-DE: 13.02.2014 en-US: Feb 13, 2014 我无法将每个区域设置转换为通用的日期格式,以便将其传递到后端 我不想在我的项目中有(更多)依赖项,所以我如何根据区域设置解析JS日
JavaScript
、String
s和Date
s的问题。但是我找不到解决我问题的办法
我正在使用SpringMVC中的dateTime
字段。问题是我的后端需要一个特定的日期格式(这不是固定的,如果需要的话我可以更改)
但每个浏览器对所选日期的解析方式都不同,这让我头疼,例如
de-DE: 13.02.2014
en-US: Feb 13, 2014
我无法将每个区域设置转换为通用的日期格式,以便将其传递到后端
我不想在我的项目中有(更多)依赖项,所以我如何根据区域设置解析JS日期,比如date。解析(date,locale)
会很好
此外,我不想以一种丑陋的方式解析日期,例如
if (navigator.language == 'en-US') {
var split = date.split(",");
var splitTwo = split[0].split(" ");
date = new Date(split[1], splitTwo[0] - 1, splitTwo[1]); // even here I would get 'Feb' instead of 02, another parse method would be needed
} else if (navigator.language == 'de-DE') {
var split = date.split(".");
date = new Date(split[2], split[1] - 1, split[0]);
}
如果出现更多的地区,该方法将不得不扩展该方法
如何从取决于语言环境的日期字符串中获取javascript日期对象?您可以在客户端上执行日期:
+(new Date())//timestamp
(new Date()).toISOString()//ISO string
(new Date()).toGMTString()//GMT string
...
Globalize可能会满足您的需要 如何从依赖于区域设置的字符串中获取日期?这就是问题所在javascript代码
new Date(new Date().toLocaleDateString())
是否可以在每次浏览时使用?我认为浏览器可能知道如何解析LocaleDataString。如果您在客户端上创建date对象(我假设是因为区域设置),您可以在发送到后端之前将其转换为通用格式(如我的回答所示)。您将来可以使用new Date()加载此内容,至少我是这样理解您的问题的。我无法创建Date
对象,因为我已本地化String
s。请查看此处-使用外部库
+(new Date())//timestamp
(new Date()).toISOString()//ISO string
(new Date()).toGMTString()//GMT string
...