我知道有很多关于JavaScript
,String
和Date
的问题。但我无法找到解决问题的方法。
我正在使用Spring MVC中的dateTime
字段。问题是我的后端期望某种格式的日期(没有修复,我可以在必要时更改)
@RequestParam(value = PARAM_SELECT_DATE) @org.springframework.format.annotation.DateTimeFormat(pattern = "dd.MM.yyyy") final Date selectDate
但是每个浏览器都会以不同的方式解析所选日期,这让我很头疼,例如,
de-DE: 13.02.2014
en-US: Feb 13, 2014
我无法将每个语言环境转换为通用日期格式,以便将其传递给后端。
我不希望在我的项目中有(更多)依赖项,所以我如何解析关于语言环境的JS日期,像Date.parse(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]);
}
如果出现更多语言环境,则该方法必须扩展该方法。
如何从日期字符串中获取取决于区域设置的日期字符串?
答案 0 :(得分:0)
您可以在客户端预先格式化日期:
+(new Date())//timestamp
(new Date()).toISOString()//ISO string
(new Date()).toGMTString()//GMT string
...
答案 1 :(得分:0)
Globalize的date parsing module可能会做你需要的!