2010-12-02 21 views
2

Hey, je me demandais comment convertir une chaîne HH:MM en un objet javascript Date. J'ai essayé new Date(string); et myDate.setTime() mais en vain.Javascript Date Objet de la chaîne dans la forme 'HH-MM'

Une question secondaire pourrait être: Comment convertir une chaîne en HH:MM en millisecondes à partir du 1er janvier 1970.

Merci pour votre aide à l'avance.

Répondre

4

en JavaScript, j'utilise la bibliothèque de datejs. http://www.datejs.com/ Si vous incluez cette bibliothèque, vous avez une fonction appelée « ParseExact » et vous pouvez l'utiliser comme ceci:

var dateString = "10-12"; 
var date = new Date.parseExact(dateString, "hh-mm"); 

Pour obtenir les miliseconds, vous pouvez télécharger le fichier time.js de http://code.google.com/p/datejs/source/browse/trunk/#trunk/src. Ensuite, vous avez, vous pouvez utiliser une getTotalMilliseconds de fonction():

var mSeconds = date.getTotalMilliseconds(); 

J'espère que cela aidera un peu.

+0

Hey, merci pour la réponse rapide. Désolé, je ne peux pas encore vous voter (limite atteinte) mais je réalise maintenant que ma question était fausse, je voulais dire "HH: MM". Si ta réponse fonctionne encore, alors je suis content. – Fred

+2

Cette fonction analyse toute chaîne datetime. Voir quelques exemples ici: http://www.datejs.com/test/parseExact/index.html. Et cette fonction analyse également Date.parseExact (dateString, "HH-MM"). Dans mon option, il est plus sûr et élégant d'utiliser une méthode parser au lieu de le faire manuellement. – EvilMM

+0

P.S. Cela aide _a beaucoup._ Et merci pour la réponse très complète. – Fred

9

Que diriez-vous quelque chose comme:

//using timestr '10:33:21', could also be '10-33-21' 
var dat = new Date, time = timestr.split(/\:|\-/g); 
dat.setHours(time[0]); 
dat.setMinutes(time[1]); 
+0

Génial. Je vais vous voter en 16 heures: D – Fred

+0

À mon avis, c'est trop "manuel". Il existe des méthodes d'analyse qui peuvent faire le travail. – EvilMM

+2

Comme toujours [en javascript], il y a beaucoup de routes menant à Rome. C'est l'un d'eux. Je pense qu'il est utile de savoir ce que l'on fait avant de passer à des frameworks ou bibliothèques plus abstraits. C'est une question de goût, je suppose. – KooiInc