4
votes

Reformatez la valeur d'entrée de la date au format allemand avec jQuery

J'ai une entrée de

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="date-input" type="date"/>
jQuery("#date-input").change(function() {
  console.log(jQuery(this).val());
});

le type date ou parfois un sélecteur de date, si le type d'entrée date n'est pas pris en charge par le navigateur. Les ID sont toujours les mêmes. Alors maintenant, je cherche un moyen de reformater la valeur reçue au format allemand.

Par exemple 2019-07-07 à 07.07.2019.

Voici mon code:

Avez-vous des idées pour y faire face? J'ai regardé un peu partout mais je ne trouve pas de vraie et bonne solution pour moi.


0 commentaires

3 Réponses :


2
votes

Pour y parvenir, vous pouvez créer un objet Date à partir de la valeur de la chaîne, puis appeler toLocaleString () à ce sujet. Si nécessaire, vous pouvez forcer le formatage de la culture de-DE comme argument de cet appel de méthode:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="date-input" type="date" />
$("#date-input").change(function() {
  var dateString = $(this).val();
  console.log(dateString);

  var deDate = new Date(dateString);
  console.log(deDate.toLocaleDateString('de-DE', {
    year: "numeric",
    month: "2-digit",
    day: "2-digit",
  }));
});


3 commentaires

Merci pour cette réponse. J'aime celui-ci mais la date est maintenant le 9.8.2019. Il me manque les zéros de tête: o.


alert (deDate.toLocaleDateString ("de-DE", {année: "numérique", mois: "2 chiffres", jour: "2 chiffres",}));


J'étais sur le point de dire que vous pouvez utiliser un objet de paramètres, mais il semble que vous l'ayez déjà fonctionné :) J'ai mis à jour la réponse malgré tout.



1
votes

En gros comme ci-dessous

jQuery("#date-input").on("blur",function() {
  console.log(jQuery(this).val().split("-").reverse().join("-")); // dd-MM-yyy format
});


0 commentaires

1
votes

Essayez ceci, j'espère que cela vous aidera

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="date-input" type="date"/>
jQuery("#date-input").change(function() {
  var val = jQuery(this).val().split('-').reverse().join('.');
  console.log(val)
});


0 commentaires