Java le format de date pour JavaScript format de la date
j'aimerais pouvoir convertir une chaîne de format Date Java, par exemple JJ/MM/AAAA (07/06/2009) en une chaîne de format date JavaScript, par exemple JJ/mm/AA (07/06/2009).
est-ce que quelqu'un a déjà fait ça, ou une idée d'où je pourrais trouver un code qui fait déjà ça?
Merci d'avance.
Edit:
merci à tous les réponses mais maintenant je me rends compte de mon erreur et peut-être pourquoi tant d'entre vous avaient du mal à comprendre la question; JavaScript n'a pas une capacité de formatage date intégrée. J'utilise le lecteur de données jQuery UI et j'ai réglé son format de date, en supposant qu'il appellerait une fonction JS standard à un moment donné, pas en utilisant sa propre bibliothèque! Lorsque j'ai cherché sur Google pour formater les chaînes de caractères, j'ai sauté directement aux tables des lettres qui pouvaient être utilisées, sautant le morceau au début en expliquant comment pour utiliser le script.
quoi qu'il en soit je vais devoir aller de l'avant et peut - être écrire le mien je suppose, en convertissant une chaîne de format date Java en une chaîne de format date jQuery (ou aussi proche que possible) - je travaille sur l'i18n de notre produit et j'ai créé une classe java qui stocke la chaîne de format date préférée utilisée dans toute l'application, Mon intention était d'avoir également la possibilité de fournir n'importe quel jsps avec la chaîne de format qui est équivalent dans JS.
Merci quand même.
10 réponses
si vous avez juste besoin de passer une date de Java à JavaScript, la meilleure façon de le faire, je pense, serait de convertir la date Java en millisecondes en utilisant date.getTime()
, créer une date JavaScript initialisée avec cette valeur de millisecondes avec new Date(milliseconds)
et ensuite formater la date avec les moyens de L'objet Date JavaScript, comme: date.toLocaleString()
.
vous pouvez utiliser mon plugin jquery-dateFormat .
// Text
$.format.date("2009-12-18 10:54:50.546", "dd/MM/yyyy");
// HTML Object
$.format.date($("#spanDate").text(), "dd/MM/yyyy");
// Scriptlet
$.format.date("<%=java.util.Date().toString()%>", "dd/MM/yyyy");
// JSON
var obj = ajaxRequest();
$.format.date(obj.date, "dd/MM/yyyy");
un sujet similaire a été répondu ici: conversion des dates en JavaScript
personnellement, j'ai trouvé que c'était une assez grande douleur et j'ai pris la suggestion de l'auteur et utilisé une bibliothèque. Comme indiqué, jQuery datepicker a une solution qui est viable si vous pouvez vous permettre la charge de téléchargement pour votre application ou l'utiliser déjà.
cette bibliothèque JavaScript devrait pouvoir vous aider.
http://plugins.jquery.com/project/fIsForFormat
(Je ne sais pas pourquoi ils l'ont comme un Plugin jQuery, parce qu'il fonctionne de manière autonome.)
vous diviseriez simplement la date formatée originale en ses éléments individuels, puis vous créeriez un nouvel objet Date avec ces éléments. Ensuite, utilisez le "Date" de cette bibliothèque.f()" méthode de sortie en n'importe quel format que vous voulez.
par exemple:
var dateOld = "11/27/2010",
dateArr = date1.split("/"),
dateObj = new Date(dateArr[2], dateArr[0], dateArr[1]),
dateNew = dateObj.f("MMM d, yyyy");
document.write("Old Format: " + dateOld + "<br/>New Format: " + dateNew);
cela me va très bien:
<%
Date date = Calendar.getInstance().getTime();
%>
<script>
var d = new Date(<%=date.getTime()%>);
alert(d);
</script>
Check out moment.js ! C'est "une bibliothèque de date javascript légère pour l'analyse, la manipulation et le formatage des dates". C'est une très puissante petite bibliothèque.
voici un exemple...
var today = moment(new Date());
today.format("MMMM D, YYYY h:m A"); // outputs "April 11, 2012 2:32 PM"
// in one line...
moment().format("MMMM D, YYYY h:m A"); // outputs "April 11, 2012 2:32 PM"
voici un autre exemple...
var a = moment([2012, 2, 12, 15, 25, 50, 125]);
a.format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Monday, March 12th 2012, 3:25:50 pm"
a.format("ddd, hA"); // "Mon, 3PM"
a.format("D/M/YYYY"); // "12/3/2012"
aussi, il est intéressant de mentionner à la caisse date.js . Je pense que les deux bibliothèques se complètent autre.
je vous propose le MomentJS avec ce Plugin qui vous permettent de convertir Un modèle Java en un modèle JS (MomentJS)
si vous utilisez java, jetez un oeil à la classe Simple Date Format .
le code javascript dans cette page implémente certaines fonctions de date et ils" utilisent les mêmes chaînes de format que le java.texte.SimpleDateFormat classe, avec quelques exceptions mineures". Ce n'est pas le même comme vous voulez, mais il peut être un bon point de départ.
si vous voulez simplement formater des dates, mes extensions de date feront aussi bien - il analyse également les formats de données et fait beaucoup de date math/compare aussi bien:
Je ne sais pas si ça va aider, mais je l'ai trouvé inestimable dans plusieurs projets.