基于浏览器区域设置/位置的自动日期格式

时间:2011-09-20 09:14:01

标签: php javascript date locale

我正在寻找javascript或PHP中的解决方案,根据访问者位置和区域设置格式化“日期”和“时间”。

例如

echo auto_format_date(time());

将为州内用户输出20-09-2011,为英国用户输出20/09/2011。


感谢大家的回答。我现在面前有几种选择,我会等待一些投票,看看你认为哪种方法更受欢迎

4 个答案:

答案 0 :(得分:0)

在服务器端代码(PHP,ASP.NET ...)中,您可以检查请求的Accept-Language HTTP标头以检测客户端浏览器语言。

接受语言:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4

您可以阅读其他信息:http://www.w3.org/International/questions/qa-accept-lang-locales

答案 1 :(得分:0)

你必须通过PHP Geolacator从Ip获得国家

并使用zned函数:date_default_timezone_set('Europe / Berlin');

当你创建日期时:

$ date = new Zend_Date();

echo $ date;

你会得到你想要的......

答案 2 :(得分:0)

我自己找到了以下内容:

http://www.w3schools.com/jsref/jsref_tolocalestring.asp

这可能有助于我在浏览器中将日期格式化为用户的首选格式。这是一个好的解决方案吗?

答案 3 :(得分:0)

我找到了另一个答案,它取决于datejs

https://code.google.com/p/datejs/wiki/FormatSpecifiers

%x     preferred date representation for the current locale 
       without the time        "4/13/2008"
%X     preferred time representation for the current locale
       without the date        "12:53:05"