不,那里的策略不会为您处理日期本地化。
Javascripts 内部日期对象确实考虑了本地化。但这仅取决于浏览器/机器区域设置,它不一定必须匹配用户日期格式,位于它前面
而且您无法区分 DD/MM/YYYY 和 MM/DD/YYYY 格式。例外情况:DD > 12
没有关于用户的更多信息。
您当然可以使用浏览器/机器或 IP 地址的本地化来获取位置或其他内容,并根据此信息处理格式,但这很容易导致错误的结果。
我宁愿确保Date
对象构造正确。
例如,通过提供一个日期选择器,让用户分别选择年月和日,以避免由于格式而导致日期模糊。
因为您无法确定坐在 PC 前的用户正在使用什么格式。
例如:我是欧洲人,并且在 enUS 上有我的浏览器区域设置。
因此
然后你可以构造你的日期对象,new Date(YEAR,MONTH,Day)
例如 ->
var year1 = 2013; //Suppose those variables will be handle by some user input method
var year2 = 2013;
var month1 = 0; //January (Months are zero based in javascripts Date Object)
var month2 = 3; //April
var day1 = 3;
var day2 = 1
var date1 = new Date(year1,month1,day1);
var date2 = new Date(year2,month2,day2);
console.log(date2.getTime() > date1.getTime()); //true
并且完全避免这个问题