web-dev-qa-db-ja.com

入力type = "date"での形式と値の設定

<input type="date" />の形式を設定する方法はありますか?いいえの場合、デフォルトの形式のtype="date"のJavaScriptを使用してこのフィールドに日付を設定するにはどうすればよいですか?このフィールドの形式はどうすれば取得できますか?

編集:実際、モバイルデバイスのネイティブの日付ピッカーを表示したいので、このタイプの入力を選択しました。そのフィールドに代替品があれば、それも持っておくと良いでしょう。

バカなことを言ったらごめんなさい。案内してください

13
muneebShabbir

形式は_YYYY-MM-DD_です。変更することはできません。

$('#myinput').val('2013-12-31');は値を設定します

18
wachme

new Date().toISOString().split('T')[0];

10

これを試して :)

function getDefaultDate(){

    var now = new Date();
    var day = ("0" + now.getDate()).slice(-2);
    var month = ("0" + (now.getMonth() + 1)).slice(-2);
    var today = now.getFullYear()+"-"+(month)+"-"+(day) ;

    return today;
}

$(document).ready(function(){ 
    $("#dateid").val( getDefaultDate()); 
});
6
argie cruz

上記より簡単です

var today = new Date().toISOString().substring(0,10); # "2013-12-31"
2
zevero

Ugいですが、動作します。 :/

var today = new Date().toLocaleString('en-GB').split(' ')[0].split('/').reverse().join('-');
2
c0nstruct0r

Jqueryとjquery uiを試して、すべての値の選択と書式設定を行うNiceカレンダーコントロールを追加します。入力フィールドの単純な書式設定は、今日のWebの要求の厳しいユーザーには十分ではありません:)

これをご覧ください link

1
Ted

あなたがしたいことは、入力から値を取得し、それを新しいDateインスタンスに割り当てることです。

let date = document.getElementById('dateInput');

let formattedDate = new Date(date.value);

console.log(formattedDate);
0
Saviour Essien

これが役立つと思う

function myFormatDateFunction(date, format) {
     ...
}

jQuery('input[type="date"]')                                             
    .each(function(){                                                              
        Object.defineProperty(this,'value',{                                         
          get: function() {                                   
            return myFormatDateFunction(this.valueAsDate, 'dd.mm.yyyy');      
          },                                                                         
          configurable: true,                                                        
          enumerable : true                                                          
        });                                                                          
      });                                                                                
0
i.Nemiro

カナダのロケールも同じ形式に従います。

new Date().toLocaleDateString('en-CA')
0
MathJ

これを確認してください https://stackoverflow.com/a/9519493/1074944 そして$('input[type="date"]').datepicker().prop('type','text');も確認してください demo

0
Sender
function getDefaultDate(curDate){
var dt = new Date(curDate);`enter code here`
var date = dt.getDate();
var month = dt.getMonth();
var year = dt.getFullYear();
if (month.toString().length == 1) {
    month = "0" + month
}
if (date.toString().length == 1) {
    date = "0" + date
}
return year.toString() + "-" + month.toString() + "-" + date.toString();
}

functionに日付文字列を渡します。

0
sushant

@cOnstructOrは素晴らしいアイデアを提供しましたが、カンマが残っていました

var today = new Date().toLocaleString('en-GB').split(' ')[0].slice(0,-1).split('/').reverse().join('-');

修正する

0
Simon H