43 votes

Format de date Java vers format de date JavaScript

J'aimerais pouvoir convertir une chaîne de format de date Java, par ex. jj/MM/aaaa (07/06/2009) à une chaîne de format de date JavaScript, par exemple jj/mm/aa (07/06/2009).

Quelqu'un a-t-il déjà fait cela ou a-t-il une idée de l'endroit où je pourrais trouver un code qui fait déjà cela ?

Editer :

Merci pour toutes les réponses, mais je réalise maintenant mon erreur et peut-être la raison pour laquelle tant d'entre vous ont eu du mal à comprendre la question ; JavaScript n'a pas de capacité intégrée de formatage de date. J'utilise le datepicker de jQuery UI et j'ai réglé son format de date en supposant qu'il appellerait une fonction JS standard à un moment donné, et qu'il n'utiliserait pas sa propre bibliothèque ! Lorsque j'ai fait une recherche sur le formatage des chaînes de caractères, j'ai sauté directement aux tableaux des lettres qui pouvaient être utilisées, sautant la partie au début expliquant comment utiliser le script.

Je travaille sur l'i18n de notre produit et j'ai créé une classe java qui stocke la chaîne de format de date préférée utilisée dans l'application, mon intention était d'avoir la possibilité de fournir à n'importe quel jsps la chaîne de format équivalente en JS.

Merci quand même.

1voto

Naveed Kamran Points 61

Cela me convient parfaitement :

<%
Date date = Calendar.getInstance().getTime();
%>

<script>
var d = new Date(<%=date.getTime()%>);
alert(d);
</script>

1voto

André Vinícius Points 108

Je vous propose le MomentJS avec cette Plugin qui permettent de convertir un motif Java en motif JS (MomentJS)

1voto

Arvind Kumar Avinash Points 49501

Du côté de Java

Je recommande de passer un Instant qui est conforme à la norme ISO 8601 standard.

import java.time.Instant;

class Main {
    public static void main(String[] args) {
        Instant instant = Instant.now();

        // You can pass the following string to JavaScript
        String strInstant = instant.toString();
        System.out.println(strInstant);

        // If the number of milliseconds from epoch is required
        long millis = instant.toEpochMilli();
        System.out.println(millis);
    }
}

Résultats d'un exemple d'exécution :

2022-12-31T09:40:52.280726Z
1672479652280

ONLINE DEMO

Pour en savoir plus sur l'API Date-Time moderne, voir Le sentier : Date Heure .

Côté JavaScript

Maintenant, vous pouvez analyser la chaîne ISO 8601 du côté JavaScript en la passant simplement en paramètre à la commande Date constructeur. Vous pouvez également instancier le Date avec le nombre de millisecondes depuis l'époque.

var date = new Date("2022-12-31T09:40:52.280726Z");
console.log(date.toISOString());

// Or if the number of milliseconds from epoch has been received
date = new Date(1672479652280);
console.log(date.toISOString());

0voto

Andrew Austin Points 1178

Si vous utilisez Java, jetez un coup d'œil à la section Format de date simple classe.

0voto

Csaba_H Points 5504

Le code javascript dans cette page implémente certaines fonctions de date et elles "utilisent les mêmes chaînes de format que la classe java.text.SimpleDateFormat, avec quelques exceptions mineures". Ce n'est pas exactement ce que vous voulez, mais cela peut être un bon point de départ.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X