2017-09-12 1 views
0

Aimerait obtenir le format de date comme 12-Septembre-2017 après avoir ajouté des mois avec moment.js. J'utilise datepicker pour les champs de date.jj-MM-aaaa format de date avec moment.js

la sortie de courant est Th-10-yyyy.

En outre, obtenir avertissement

moment.min.js: 6 avertissement Obsolescence: valeur fournie est pas dans un RFC2822 reconnu ou format ISO. La construction du moment revient à js Date(), qui n'est pas fiable sur tous les navigateurs et versions. Les formats de date non RFC2822/ISO sont déconseillés et seront supprimés dans une prochaine version majeure. Veuillez vous référer au http://momentjs.com/guides/#/warnings/js-date/ pour plus d'informations.

$(document).on("change", "#inputmonthadded", function (evt) { 

    var input_value_inputstartdate = $('#inputstartdate').val(); 
    var input_value_inputmonthpurchased = $('#inputmonthpurchased').val(); 
    var input_value_inputmonthadded = $('#inputmonthadded').val(); 

    if (typeof input_value_inputstartdate != 'undefined' && input_value_inputstartdate) { 

     var inputstartdate = moment(input_value_inputstartdate); 

     var portalexpdate = inputstartdate.add(input_value_inputmonthadded, 'months'); 

     var formatedportalexpdate = portalexpdate.format('dd-MM-yyyy'); 

     $('#inputportalexpirydate').val(formatedportalexpdate); 

    } 
    else { 

     $('#inputportalexpirydate').val(''); 
    } 

}); 
+0

Quelle est la valeur de 'input_value_inputstartdate'? – VincenzoC

+0

valeur de input_value_inputstartdate = 12-Septembre-2017 – Nick

Répondre

2

Vous devez utiliser:

var formatedportalexpdate = portalexpdate.format('DD-MMMM-YYYY'); 

comme indiqué dans les docs format.

jetons de moment sont sensibles à la casse, dd se présente comme jour de la semaine, alors que DD représente jour du mois, utilisez MMMM pour obtenir le nom complet du mois et YYYY pour obtenir l'année à 4 chiffres.

Utilisation moment(String, String) au lieu de moment(input_value_inputstartdate) pour éviter Obsolescence avertissement lors de l'analyse input_value_inputstartdate, dans votre cas, vous pouvez faire quelque chose comme:

var inputstartdate = moment(input_value_inputstartdate, 'DD-MMMM-YYYY'); 

Le code complet pourrait être comme suit:

$(document).on("change", "#inputmonthadded", function (evt) { 
 
    var input_value_inputstartdate = $('#inputstartdate').val(); 
 
    var input_value_inputmonthpurchased = $('#inputmonthpurchased').val(); 
 
    var input_value_inputmonthadded = $('#inputmonthadded').val(); 
 

 
    if (typeof input_value_inputstartdate != 'undefined' && input_value_inputstartdate) { 
 
    var inputstartdate = moment(input_value_inputstartdate, 'DD-MMMM-YYYY'); 
 
    var portalexpdate = inputstartdate.add(input_value_inputmonthadded, 'months'); 
 
    var formatedportalexpdate = portalexpdate.format('DD-MMMM-YYYY'); 
 
    $('#inputportalexpirydate').val(formatedportalexpdate); 
 
    } 
 
    else { 
 
    $('#inputportalexpirydate').val(''); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script> 
 

 
<input type="number" id="inputmonthadded"> 
 
<input type="text" id="inputstartdate" value="12-September-2017" readonly> 
 
<input type="text" id="inputportalexpirydate" readonly> 
 
<input type="text" id="inputmonthpurchased">

+0

merci, cela a fait l'affaire, mais toujours obtenir un avertissement .... – Nick

+0

L'extrait de pas d'avertissement de dépréciation, utilisez-vous ['moment (String)'] (https: // momentjs.com/docs/#/parsing/string/) ailleurs dans votre code? Veuillez le vérifier et remplacer l'analyse de chaîne par ['moment (String, String)'] (https://momentjs.com/docs/#/parsing/string-format/) – VincenzoC

1

Vous devez suivre le style de mise en forme actuellement: https://momentjs.com/docs/#/displaying/

Par conséquent: format("D-MMMM-YYYY")

Note: L'utilisation DD ajoutera des zéros par exemple, 01, 02, 03, alors que D utilisera valeur unique par exemple, 1, 2, 3.