有什麼辦法能夠更改輸入類型=「日期」格式?

我正在使用網頁上的HTML5元素。 默認狀況下,輸入type="date"顯示爲YYYY-MM-DDjavascript

問題是,是否能夠將其格式更改成: DD-MM-YYYYjava


#1樓

最後一個Beta版本的Google Chrome瀏覽器最終使用輸入type=date ,格式爲DD-MM-YYYYjquery

所以,必須有一種強制使用特定格式的方法。 我正在開發HTML5網頁,日期搜索如今失敗,但格式不一樣。 linux


#2樓

區分兩種不一樣的格式很重要git

  • RFC 3339 / ISO 8601「有線格式」:YYYY-MM-DD。 根據HTML5規範,這是在表單提交時或經過DOM API請求時必須用於輸入值的格式。 它是區域設置和區域獨立的。
  • 用戶界面控件顯示的格式,並被接受爲用戶輸入。 鼓勵瀏覽器供應商遵循用戶的首選項選擇。 例如,在Mac OS上,在「語言和文字」偏好設置窗格中選擇了「美國」區域,Chrome 20使用的格式爲「 m / d / yy」。

HTML5規範不包括任何替代或手動指定格式的方法。 github


#3樓

沒法使用用戶的計算機或手機的默認日期格式更改網絡套件瀏覽器。 可是,若是可使用jquery和jquery UI,則能夠選擇日期選擇器,而且能夠按照開發人員的須要以任何格式顯示日期選擇器。 指向jquery UI date-picker的連接在此頁面上http://jqueryui.com/datepicker/您能夠找到演示以及代碼和文檔或文檔連接 web

編輯:-我發現chrome使用的語言設置默認狀況下等於系統設置,但用戶能夠更改它們,但開發人員沒法強迫用戶這樣作,所以您必須使用其餘js解決方案,例如我告訴您能夠搜索網絡使用javascript date-pickers或jquery date-picker之類的查詢 chrome


#4樓

通過許多障礙以後,我想出了一個能夠更改格式的解決方案。 有一些警告,可是若是您但願始終顯示「 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}";
    }
}

#5樓

如前所述, <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_TIMEd_fmt (我認爲這是webkit或chrome中的錯誤),遺憾的是它不起做用 。 :'(

所以,不幸的是,若是LANG環境變量不能解決您的問題,那麼尚未辦法。

相關文章
相關標籤/搜索