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

How to detect date format defined by browser?

本文关键字:定义 日期 格式 浏览器 何检测 检测      更新时间:2023-09-26

我使用HTML5 input type=date字段,因为一些浏览器仍然不支持这个功能,我想为只显示普通文本字段而不是日期字段的浏览器创建错误验证消息。这个错误信息应该看起来像

请输入日期格式:…

但是我需要找到浏览器设置的正确格式。有任何php/js/jQuery的方式如何发现这一点?

感谢@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

我已经使用globalize库做了类似的事情。我不知道它的功能是否符合你的要求,但我知道它在处理不同文化方面做得很好。我使用window.navigator.userLanguage来确定文化,然后将其提供给全球化库来做它的事情。我在处理货币和数字方面很成功。

EDIT:看看是否有帮助:

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

取自如何格式化JavaScript日期与浏览器文化?

参考根据区域性显示正确的日期格式

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

。我在美国旅游,浏览器告诉我使用mm/dd/YYYY格式,而不是我的本地dd.mm.YYYY。

获取用户输入的任何日期并使用Date.parse()解析