12
votes

Fonction JavaScript pour convertir la date AAAA / MM / DD en DD / mm / YY

J'essaie de créer une fonction sur JavaScript pour apporter la date de ma base de données au format (AAAA-MM-DD) et l'affiche sur la page comme (jj / mm / yy).

J'apprécierais toute aide.

merci.

PD: Faites-moi savoir si vous avez besoin de plus de clarification.


4 commentaires

Comment obtenez-vous la date de votre base de données?


Stackoverflow.com/search?q=convert+Date


Puis-je faire un plaidoyer pour le quitter tel quel? AAAA-MM-DD est un format de date parfaitement lisible. jj / mm / yy est une horreur ambiguë. (Est-ce le Royaume-Uni ou la date des États-Unis? Quel siècle? Je ne peux pas dire immédiatement en le regardant.)


@bobince: Cela dépend du contexte de l'endroit où il est utilisé. S'il s'agit d'une application Web qui n'est utilisée que dans un seul pays ou à part en interne, les utilisateurs sauront ce que le format de date commun est et qui sont probablement plus confus pour voir un format qu'ils n'attendaient pas. En outre, AAAA-MM-DD n'est pas un format très courant utilisé dans l'UIS et que les utilisateurs novices provoquent toujours une ambiguïté (c'est-à-dire yyyy-mm-dd ou yyyy-dd-mm?).


8 Réponses :


2
votes

Utiliser les fonctions GetDateFromFormat () et FormatDDate () à partir de cette source: http://mattkruse.com/javascript/date/source.html
Les exemples sont également là


1 commentaires

URL Link apparaît rassis.



18
votes

La manière la plus simple supposant que vous n'êtes pas dérangé par la fonction étant dynamique: xxx


0 commentaires

22
votes

Si vous êtes sûr que la date issue du serveur est valide, une simple Regexp peut vous aider à modifier le format:

function formatDate (input) {
  var datePart = input.match(/\d+/g),
  year = datePart[0].substring(2), // get only two digits
  month = datePart[1], day = datePart[2];

  return day+'/'+month+'/'+year;
}

formatDate ('2010/01/18'); // "18/01/10"


1 commentaires

Juste au cas où quelqu'un veut montrer l'année complète, les 4 chiffres utilisent ceci: Année = DatePart [0] .Substring (0,4) Ajout uniquement comme il pourrait ne pas être immédiatement évident. Merci d'avoir répondu!



2
votes

Vous pouvez également vouloir examiner à l'aide de DATE.JS:

http://www.datejs.com

à l'avenir VOTRE APPLICATION, vous souhaiterez peut-être retourner du temps dans un horodatage et un format UTC avec JavaScript. Cela vous permettra de soutenir différents formats pour différents pays (aux États-Unis, nous nous familiarisons le plus avec DD-MM-AAAAAYY, ou par exemple) ainsi que des fuseaux trimestres.


0 commentaires

0
votes

C'est un cas simple, mais tout le monde utilise des méthodes de chaîne! Ceci est un peu barbare: -)

L'objet de date est entièrement mis en place pour cela et vous obtiendrez beaucoup plus loin une fois que vous avez compris. Votre date n'a pas de fuseau horaire, je vous suggère donc de forcer l'UTC à la fois sur le chemin et la sortie. Les forces locales FR-GB Forces DD-MM, mais nous devrions garder à l'esprit que les utilisateurs anglophones sont divisés sur le format du milieu à la date et que chaque moitié trouve le format de l'autre totalement déroutant. Vous devriez vraiment essayer de rendre votre format de date numérique s'adapte aux préférences de l'utilisateur, d'autant plus que c'est facile! P>

SO ... P>

P>

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id='vueRoot'>
  <h1>in => {{kennedy}}</h1>
  <h1>dd-MM-yy => {{kennedyDdmm}}</h1>
  <h1>respect user prefs => {{kennedyAuto}}</h1>
</div>


0 commentaires

3
votes

Utilisez n'importe lequel de cette fonction JS pour convertir la date AAAA / MM / DD en DD / mm / YY FORT>

TYPE 1 STRUT> P>

ChangeFormateDate("2018/12/17") //"17/12/2018"


0 commentaires

1
votes

Vous pouvez également utiliser des alphabures de destruction et de modèle au cas où vous serez sûr que vous recevrez toujours une date dans AAAA-MM-DD CODE>.

P>

const changeDateFormatTo = date => {
  const [yy, mm, dd] = date.split(/-/g);
  return `${dd}/${mm}/${yy}`;
};

const formattedDate = changeDateFormatTo("2019-08-14");
console.log(`Formatted date is: ${formattedDate}`);


0 commentaires

2
votes

Essayez ceci:

function convertDate(dateString){
  var p = dateString.split(/\D/g)
  return [p[2],p[1],p[0] ].join("-")
}

convertDate("2001-9-11")//"11-9-2001"


0 commentaires