2

我需要根据用户国家/地区更改 DD/MM/YYYY 标签的顺序。

http://en.wikipedia.org/wiki/Date_format_by_country

我想这样做的方法是创建一个国家/日期格式表,并根据国家选择使用 jquery 移动字段。

有没有一种现有的方法可以在 php 甚至 js 或更好的方法中完成?我也在寻找一个国家/日期格式表,而不是手动插入所有值,但我找不到任何东西......

4

3 回答 3

2

对于 PHP,这应该是一个好的开始: http: //php.net/manual/en/function.setlocale.php

对于 JavaScript:以用户的语言环境格式和时间偏移显示日期/时间

总而言之,大多数现代语言都很好地内置了语言环境支持。您不必自己实现此功能。这将是令人厌烦和错误的(本地化很难)。

于 2013-03-10T21:20:08.873 回答
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
于 2018-02-01T17:42:28.433 回答
0

如果要在客户端更改日期的格式,可以尝试 JavaScript 中 Date 对象的toLocaleString函数。toLocaleString 将根据客户端操作系统对其位置的设置更改格式。您也不需要具有国家和日期格式的表格。

这可以在不需要 jQuery 或任何其他插件的情况下完成。

于 2013-03-10T21:20:34.290 回答