我正在使用網頁上的HTML5元素。 默認狀況下,輸入type="date"
顯示爲YYYY-MM-DD
。 javascript
問題是,是否能夠將其格式更改成: DD-MM-YYYY
? java
最後一個Beta版本的Google Chrome瀏覽器最終使用輸入type=date
,格式爲DD-MM-YYYY
。 jquery
所以,必須有一種強制使用特定格式的方法。 我正在開發HTML5網頁,日期搜索如今失敗,但格式不一樣。 linux
區分兩種不一樣的格式很重要 : git
HTML5規範不包括任何替代或手動指定格式的方法。 github
沒法使用用戶的計算機或手機的默認日期格式更改網絡套件瀏覽器。 可是,若是可使用jquery和jquery UI,則能夠選擇日期選擇器,而且能夠按照開發人員的須要以任何格式顯示日期選擇器。 指向jquery UI date-picker的連接在此頁面上http://jqueryui.com/datepicker/您能夠找到演示以及代碼和文檔或文檔連接 web
編輯:-我發現chrome使用的語言設置默認狀況下等於系統設置,但用戶能夠更改它們,但開發人員沒法強迫用戶這樣作,所以您必須使用其餘js解決方案,例如我告訴您能夠搜索網絡使用javascript date-pickers或jquery date-picker之類的查詢 chrome
通過許多障礙以後,我想出了一個能夠更改格式的解決方案。 有一些警告,可是若是您但願始終顯示「 Jan」或「 01」,則可使用。 僅因爲Firefox根本不支持本機日期選擇器,才能夠在Windows和Mac上的Chrome中運行。 ubuntu
https://github.com/northamerican/custom-input-date-format 瀏覽器
JS:
function updateDateInputs() { $('input').each(function() { var $date = $(this), date = $date.val().split('-'), format = ['year', 'month', 'day']; $.each(format, function(i, v) { $date.attr('data-' + v, +date[i]); }); }); }
SASS:
$months: '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'; @each $month in $months { $i: index($months, $month); input[data-month="#{$i}"][data-style="reg"]::-webkit-datetime-edit-month-field:after { content: "#{$month}"; } }
如前所述, <input type=date ... >
在大多數瀏覽器中並未徹底實現,所以讓咱們來談談像瀏覽器(chrome)這樣的webkit。
使用linux,您能夠經過更改環境變量LANG
來更改它, LC_TIME
彷佛不起做用(至少對我而言)。
您能夠在終端中鍵入locale
以查看當前值。 我認爲相同的概念能夠應用於IOS。
例如:使用:
LANG=en_US.UTF-8 /opt/google/chrome/chrome
日期顯示爲mm/dd/yyyy
使用方法:
LANG=pt_BR /opt/google/chrome/chrome
日期顯示爲dd/mm/yyyy
您可使用http://lh.2xlibre.net/locale/pt_BR/ (根據您的語言環境更改pt_BR
)來建立本身的自定義語言環境,並根據須要設置日期格式。
關於更改默認系統日期怎麼是一個很好的更高級的參考: https://ccollins.wordpress.com/2009/01/06/how-to-change-date-formats-on-ubuntu/和https://開頭askubuntu。 com / questions / 21316 /我如何自定義系統語言環境
您可使用date
查看實際的當前日期格式:
$ date +%x 01-06-2015
可是因爲d_fmt
彷佛拒絕了LC_TIME
和d_fmt
(我認爲這是webkit或chrome中的錯誤),遺憾的是它不起做用 。 :'(
所以,不幸的是,若是LANG
環境變量不能解決您的問題,那麼尚未辦法。