我有要求根據用戶國家更改DD/MM/YYYY標籤的順序。如何根據國家更改日期格式
http://en.wikipedia.org/wiki/Date_format_by_country
,我想做到這一點的方法是創建一個國家/ DATEFORMAT表,並根據國家選擇走動使用jQuery等領域。
是否有一種方法可以在PHP中甚至在js或更好的方法中完成此操作? 我也一直在尋找國家/日期格式的表,而不是手動插入所有的值,但我無法找到任何東西...
我有要求根據用戶國家更改DD/MM/YYYY標籤的順序。如何根據國家更改日期格式
http://en.wikipedia.org/wiki/Date_format_by_country
,我想做到這一點的方法是創建一個國家/ DATEFORMAT表,並根據國家選擇走動使用jQuery等領域。
是否有一種方法可以在PHP中甚至在js或更好的方法中完成此操作? 我也一直在尋找國家/日期格式的表,而不是手動插入所有的值,但我無法找到任何東西...
對於PHP,這應該是一個良好的開端:http://php.net/manual/en/function.setlocale.php
對於JavaScript :Display date/time in user's locale format and time offset
總而言之,大多數現代語言都支持內置的語言環境。你不應該自己實現這個。這將是無聊和錯誤(本地化很難)。
如果你想改變客戶端的日期格式,你可以在JavaScript中的Date對象上嘗試toLocaleString函數。 toLocaleString將根據客戶端操作系統的位置設置更改格式。您也不需要擁有國家和日期格式的表格。
這可以不需要jQuery或任何額外的插件。
理論上不錯,但實際上並不適用,因爲並非所有的瀏覽器都支持它。請不要參考W3Schools [ECMA-262](http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.5.5)語言功能的明確參考,[Mozilla開發者網絡](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toLocaleString)也是一個很好的資源。在這種情況下,[toLocaleDateString](http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.5.6)可能是一個更好的建議。 – RobG 2013-03-10 23:10:25
如果您使用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
退房術語 「語言環境」。 – 2013-03-10 21:18:54
看看http://jqueryui.com/datepicker/#localization和http://docs.jquery.com/UI/Datepicker/Localization – MatRt 2013-03-10 21:21:52
感謝大家的答案,但如果可能的話,我需要一個小例子代碼使用例如建議的JS toLocaleString移動字段,我有三個選擇元素DD MM YYYY。 jQuery的例子很好,但看起來你需要爲每個國家包含一個日期選擇器。 – Athanatos 2013-03-10 21:36:26