web-dev-qa-db-fra.com

Comment changer le format de date (MM / JJ / AA) en (AAAA-MM-JJ) dans le sélecteur de date

J'ai le script datepicker suivant:

<script>
 $(function(){
        $("#to").datepicker();
        $("#from").datepicker().bind("change",function(){
            var minValue = $(this).val();
            minValue = $.datepicker.parseDate("mm/dd/yy", minValue);
            minValue.setDate(minValue.getDate()+1);
            $("#to").datepicker( "option", "minDate", minValue );
        })
    });
</script> 

Dateformat est maintenant MM/JJ/AA. Comment changer le format de la date en AAAA-MM-JJ?

48
John Ken

Utilisez l'option dateFormat

 $(function(){
        $("#to").datepicker({ dateFormat: 'yy-mm-dd' });
        $("#from").datepicker({ dateFormat: 'yy-mm-dd' }).bind("change",function(){
            var minValue = $(this).val();
            minValue = $.datepicker.parseDate("yy-mm-dd", minValue);
            minValue.setDate(minValue.getDate()+1);
            $("#to").datepicker( "option", "minDate", minValue );
        })
    });

Démo sur http://jsfiddle.net/gaby/WArtA/

59
Gabriele Petrioli

Essayez ce qui suit:

$('#to').datepicker({
      dateFormat: 'yy-mm-dd'
});

On pourrait penser que ce serait aaaa-mm-jj mais eh bien: P

35
Gazillion

J'ai eu le même problème et j'ai essayé beaucoup de réponses mais rien n'a fonctionné.

J'ai essayé ce qui suit et cela a fonctionné avec succès:

<input type=text  data-date-format='yy-mm-dd'  > 
22
Shiko
$( ".selector" ).datepicker( "option", "dateFormat", 'yy-mm-dd' );

Voir: http://jqueryui.com/demos/datepicker/ et http://docs.jquery.com/UI/Datepicker/formatDate#utility-formatDate

7
Erik J. Olson

Si dans jQuery l’option dateformat ne fonctionne pas, nous pouvons gérer cette situation en page HTML dans le champ de saisie de votre date:

<input type="text" data-date-format='yyyy-mm-dd'  id="selectdateadmin" class="form-control" required>

Et en javascript, sous cette page, ajoutez votre code de sélecteur de date:

 $('#selectdateadmin').focusin( function()
     {
       $("#selectdateadmin").datepicker();
       
     });
3
Mohsin Shoukat

J'ai utilisé cette approche pour effectuer la même opération dans mon application.

var varDate = $("#dateStart").val(); 

var DateinISO = $.datepicker.parseDate('mm/dd/yy', varDate); 

var DateNewFormat = $.datepicker.formatDate( "yy-mm-dd", new Date( DateinISO ) );

$("#dateStartNewFormat").val(DateNewFormat);
2
siwalikm

Vous avez besoin de quelque chose comme ça pendant l'initialisation de votre sélecteur de date:

$("#your_elements_id").datepicker({ dateFormat: 'yyyy-mm-dd' });
2
Husein Roncevic

cela a également fonctionné pour moi. Allez dans le bootstrap-datepicker.js.

remplacez ce code:

var defaults = $.fn.datepicker.defaults = {
                autoclose: false,
                beforeShowDay: $.noop,
                calendarWeeks: false,
                clearBtn: false,
                daysOfWeekDisabled: [],
                endDate: Infinity,
                forceParse: true,
                format: 'mm/dd/yyyy',
                keyboardNavigation: true,
                language: 'en',
                minViewMode: 0,
                multidate: false,
                multidateSeparator: ',',
                orientation: "auto",
                rtl: false,
                startDate: -Infinity,
                startView: 0,
                todayBtn: false,
                todayHighlight: false,
                weekStart: 0
        };

avec :

var defaults = $.fn.datepicker.defaults = {
                autoclose: false,
                beforeShowDay: $.noop,
                calendarWeeks: false,
                clearBtn: false,
                daysOfWeekDisabled: [],
                endDate: Infinity,
                forceParse: true,
                format: 'yyyy-mm-dd',
                keyboardNavigation: true,
                language: 'en',
                minViewMode: 0,
                multidate: false,
                multidateSeparator: ',',
                orientation: "auto",
                rtl: false,
                startDate: -Infinity,
                startView: 0,
                todayBtn: false,
                todayHighlight: false,
                weekStart: 0
        };
2
gani024

Essaye ça:

$.datepicker.parseDate("yy-mm-dd", minValue);
1
Peng Qi

Utiliser .formatDate( format, date, settings )

http://docs.jquery.com/UI/Datepicker/formatDate

1
Vlad Dneprovskiy

ajoutez simplement dateFormat:'yy-mm-dd' à vos .datepicker({}) réglages, votre .datepicker({}) peut ressembler à ceci

            $( "#datepicker" ).datepicker({
                showButtonPanel: true,
                changeMonth: true,
                dateFormat: 'yy-mm-dd'
            });
          });

    </script> 
1
K.R.Janssen

Juste besoin de définir aa-mm-jj ici. dateFormat

La valeur par défaut est mm-jj-aa

Changez mm-jj-aa en aa-mm-jj. Regardez l'exemple ci-dessous

  $(function() {
    $( "#datepicker" ).datepicker({
      dateFormat: 'yy-mm-dd',
      changeMonth: true,
      changeYear: true
    });
  } );

Date: <input type="text" id="datepicker">
0
Rokan Nashp

Ce travail pour moi:

 $('#data_compra').daterangepicker({
          singleDatePicker: true,
          locale: {
           format: 'DD/MM/YYYY'
          },
         calender_style: "picker_4", }, 
function(start, end, label) {
          console.log(start.toISOString(), end.toISOString(), label); 
});
0
Ediano Gama

C’est ce qui a fonctionné pour moi dans chaque version de datePicker, convertissant d’abord la date en format de date interne datePicker, puis la reconvertissant au format souhaité.

var date = "2017-11-07";   
date = $.datepicker.formatDate("dd.mm.yy", $.datepicker.parseDate('yy-mm-dd', date));
// 07.11.2017
0
FantomX1

this a fonctionné pour moi.

    $('#thedate').datepicker({
    dateFormat: 'dd-mm-yy',
    altField: '#thealtdate',
    altFormat: 'yy-mm-dd'
});
0
Narendra Kothule

Merci pour tout. J'ai eu ma sortie attendue

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" type="text/css" media="all">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>

<script>
$(function(){
        $("#to").datepicker({ dateFormat: 'yy-mm-dd' });
        $("#from").datepicker({ dateFormat: 'yy-mm-dd' }).bind("change",function(){
            var minValue = $(this).val();
            minValue = $.datepicker.parseDate("yy-mm-dd", minValue);
            minValue.setDate(minValue.getDate()+1);
            $("#to").datepicker( "option", "minDate", minValue );
        })
    });

</script> 

<div class="">
    <p>From Date: <input type="text" id="from"></p>

    <p>To Date: <input type="text" id="to"></p>
</div>
0
John Ken

Pour moi au format plugin jquery datetimepicker: l'option 'd/m/Y' est activée

$("#dobDate").datetimepicker({
lang:'en',
timepicker:false,
autoclose: true,
format:'d/m/Y',
onChangeDateTime:function( ct ){
   $(".xdsoft_datetimepicker").hide();
}
});
0
surya