web-dev-qa-db-fra.com

Définition du format et de la valeur dans type d'entrée = "date"

Est-il possible de définir le format de <input type="date" />? Si non, comment puis-je définir la date dans ce champ à l'aide de JavaScript au format par défaut type="date". Comment puis-je obtenir quel sera le format de ce champ? 

EDIT: .__ En fait, je veux montrer le sélecteur de date natif du périphérique mobile, c’est pourquoi j’ai choisi ce type de saisie. s’il existe un substitut pour ce domaine, il serait bon d’en avoir.

Désolé si j'ai dit quelque chose de stupide. Guidez-moi s'il-vous-plaît

12
muneebShabbir

Le format est YYYY-MM-DD. Vous ne pouvez pas le changer.

$('#myinput').val('2013-12-31'); définit la valeur

17
wachme

essaye ça :)

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

Plus facile que ce qui précède est

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

C'est moche, mais ça marche. : /

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

Je voudrais essayer jquery et jquery ui pour ajouter un contrôle de calendrier Nice qui fait toute la valeur de sélection et de formatage pour vous. le formatage simple d'un champ de saisie n'est pas suffisant pour les utilisateurs exigeants du Web d'aujourd'hui :)

Jetez un coup d'oeil à ceci link

1
Ted

Je pense que cela peut aider

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

Les paramètres régionaux canadiens suivent également le même format: 

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

Veuillez vérifier ceci https://stackoverflow.com/a/9519493/1074944 et essayez également $('input[type="date"]').datepicker().prop('type','text'); consultez la démonstration

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();
}

Dans function passez votre chaîne de date.

0
sushant

@cOnstructOr a fourni une excellente idée, mais elle a laissé une virgule

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

corrige cela

0
Simon H