95 votes

Analyse de la chaîne DateTime en JavaScript

Quelqu'un sait-il comment analyser une chaîne de date dans le format requis ? dd.mm.yyyy ?

0 votes

Voulez-vous créer un nouvel objet date à partir d'une chaîne dans ce format ?

139voto

Jonathan Fingland Points 26224

Voir :

Code :

var strDate = "03.09.1979";
var dateParts = strDate.split(".");

var date = new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);

0 votes

Mmm, mais comment vérifier que strDate a une valeur invalide comme "30.30.2000" ?

2 votes

@user674887, vous pourriez comparer les valeurs après l'analyse syntaxique, par exemple : dateParts[1]-1 == date.getMonth()

0 votes

Si vous avez des rendez-vous, les deux TEMPS sont comme ça : "2014-05-20T16:43:56.71-06:00" var partesFecha = solicitud.CreatedDate.split("T")[0].split("-") ; var createdDate = new Date(partesFecha[0], (partesFecha[1] - 1), partesFecha[2]) ; Tout d'abord, extraire la date avant T et ensuite diviser l'année, le mois et le jour.

51voto

Mecalito Points 526

Si vous utilisez jQuery UI, vous pouvez formater n'importe quelle date avec :

<html>
    <body>
        Your date formated: <span id="date1"></span><br/>
    </body>
</html>

var myDate = '30.11.2011';
var parsedDate = $.datepicker.parseDate('dd.mm.yy', myDate);

$('#date1').text($.datepicker.formatDate('M d, yy', parsedDate));

http://jsfiddle.net/mescalito2345/ND2Qg/14/

21 votes

+1 Je ne pense pas qu'il soit totalement hors de portée, JavaScript et JQuery sont une combinaison courante.

0 votes

Une réponse ne devrait pas s'appuyer sur une bibliothèque qui n'est pas étiquetée ou mentionnée dans l'OP. Utilisation de jQuery en tant que bibliothèque de dates est une surcharge massive quand une fonction de 3 lignes peut faire le même travail.

9voto

astander Points 83138

Nous utilisons ce code pour vérifier si la chaîne est une date valide.

var dt = new Date(txtDate.value)
if (isNaN(dt))

0 votes

Le format donné ne correspond pas au format requis par developer.mozilla.org/fr/Core_JavaScript_1.5_Reference/ (et donc que le constructeur de Date ne suffira pas)

0 votes

Cela ne teste pas du tout les dates valides, cela teste juste si le constructeur de date peut créer une date valide à partir de l'entrée. Les deux ne sont pas la même chose.

2voto

HotJard Points 393

Utiliser l'objet Date :

var time = Date.parse('02.02.1999');
document.writeln(time);

Donnez : 917902800000

16 votes

new Date(Date.parse('02.02.1999'))

0 votes

+1 Pour les commentaires de Duke sur new Date(Date.parse('02.02.1999')) pour Javascript

0 votes

Renvoie NaN dans au moins deux navigateurs actuels. Voir Pourquoi Date.parse donne-t-il des résultats incorrects ?

2voto

Matthew Millman Points 180

Les développeurs ASP.NET ont le choix de cette pratique intégrée (MS JS doit être inclus dans la page) :

var date = Date.parseLocale('20-Mar-2012', 'dd-MMM-yyyy');

http://msdn.microsoft.com/en-us/library/bb397521%28v=vs.100%29.aspx

0 votes

Le PO ne mentionne pas qu'il utilise ASP.NET

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