如何检测浏览器定义的日期格式?

时间:2013-05-31 14:57:14

标签: php javascript jquery html5 date

我使用HTML5输入类型=日期字段,并且由于某些浏览器仍然不支持此功能,我想为浏览器创建错误验证消息,该消息只显示普通文本字段而不是日期字段。此错误消息应如下所示

  

请输入日期格式:...

但我需要找到浏览器设置的正确格式。是否有任何php / js / jQuery方法如何找到它?

3 个答案:

答案 0 :(得分:3)

我使用globalize库做类似的事情。我不知道它的功能是否具有你想要的功能,但我知道它能很好地处理不同的文化。我使用window.navigator.userLanguage来确定文化,然后将其提供给globalize库来完成它的工作。处理货币和数字时,我已经取得了成功。

编辑:看看这是否有帮助:

var now=new Date();
alert(now.toLocaleString());

取自How format JavaScript Date with regard to the browser culture?

参考Displaying proper date format depending on culture

答案 1 :(得分:2)

感谢@Jose Vega的回答,我能够找到非常简单的方法。

     var now=new Date(2013,11,31);
     var str=now.toLocaleDateString();
     str=str.replace("31","dd");
     str=str.replace("12","mm");
     str=str.replace("2013","yyyy");

错误讯息:

  

“请以格式输入日期:”+ str

答案 2 :(得分:0)

为什么不允许用户以他们喜欢的任何格式输入日期。

E.g。我是美国的游客,浏览器说我使用格式mm / dd / YYYY而不是我原生的dd.mm.YYYY。

只需获取用户输入的任何日期,然后使用Date.parse()

进行解析