我需要根据用户所在国家/地区更改DD / MM / YYYY标记的顺序。
http://en.wikipedia.org/wiki/Date_format_by_country
我想要这样做的方法是创建一个country / Dateformat表,并根据国家/地区选择使用jquery移动字段。
是否有一种现有的方法可以在PHP或甚至js或更好的方法中完成此操作? 我也在寻找一个country / dateformat表,而不是手动插入所有值,但我找不到任何东西......
答案 0 :(得分:2)
对于PHP,这应该是一个好的开始:http://php.net/manual/en/function.setlocale.php
对于JavaScript:Display date/time in user's locale format and time offset
总而言之,大多数现代语言都内置了很好的语言环境支持。你不应该自己实现这个。这将是令人厌倦和错误(本地化很难)。
答案 1 :(得分:1)
如果你使用PHP,那么IntlDateFormatter()可以帮助你:
$d = new DateTime();
$fmt = new IntlDateFormatter('en-US', IntlDateFormatter::SHORT, IntlDateFormatter::NONE);
echo "US: ".$fmt->format($d)."<br/>";
$fmt = new IntlDateFormatter('en-GB', IntlDateFormatter::SHORT, IntlDateFormatter::NONE);
echo "GB: ".$fmt->format($d)."<br/>";
$fmt = new IntlDateFormatter('en-AU', IntlDateFormatter::SHORT, IntlDateFormatter::NONE);
echo "AU: ".$fmt->format($d)."<br/>";
$fmt = new IntlDateFormatter('de-DE', IntlDateFormatter::SHORT, IntlDateFormatter::NONE);
echo "DE: ".$fmt->format($d)."<br/>";
输出:
US: 2/1/18
GB: 01/02/2018
AU: 1/2/18
DE: 01.02.18
答案 2 :(得分:0)
如果要在客户端更改日期的格式,可以在JavaScript中的Date对象上尝试toLocaleString函数。 toLocaleString将根据客户端操作系统的位置设置更改格式。您也不需要具有国家和日期格式的表格。
这可以在不需要jQuery或任何其他插件的情况下完成。