2013-04-17 18 views
6

Io e il mio amico stiamo facendo un progetto scolastico; il compito è quello di creare un sito di prenotazione stanza. Questo è il nostro primo anno a provare JavaScript, e vogliamo che una stringa sia formattata in tempo (h: m). L'utente del nostro sito di prenotazione camere può scegliere l'ora del giorno in cui desidera la stanza, e l'uscita è: H: m (24ore ore: minuti). Ad esempio 12:15.Converti la stringa in tempo JavaScript (h: m)

Perciò la mia domanda è: C'è possibile convertire questa stringa (h: m) nel tempo, e verificare facilmente se l'utente ha digitato più di 30 minuti della prenotazione in tempo? Così possiamo dire, per esempio: i valori

if(start_of_reservation < start_of_reservation(+30minutes)){ 
    alert("You need to book a room atleast 30minutes"); } 

else if(start_of_reservation > start_of_reservation(+6hours)){ 
    alert("You can't book a room longer than 6 hours"); } 

else { 
// moving on.. 
} 
+0

Ci sono molte librerie JavaScript Date: * http://momentjs.com/ * http://www.datejs.com/ * https://www.google.com/search?q=javascript+date + la maggior parte della libreria gestirà l'analisi della data e il confronto. –

risposta

9
var year = '2013'; 
var month = '04'; 
var day = '18'; 

var hour = '12'; 
var min = '35'; 

var reserv = new Date(year,month,day,hour,min) 

console.log(reserv); 

Coloro anno, mese e giorno si potrebbe desiderare di prendere per voi stessi controllando la data corrente. Questo è puramente per mostrare come convertire la stringa in una data.

Utilizzare reserv.getTime() per convertire in millisecondi e quindi essere in grado di confrontare due volte;

reserv.getTime() - reserv2.getTime() 

Per ulteriori informazioni, controllare il MDN.

+1

Il metodo 'getTime' non è necessario; 'reserv - reserv2' avrà lo stesso risultato. –

+0

@Sortofabeginner Fiera abbastanza :) –

1

Sì. Utilizzare regular expressions e Date object.

espressioni regolari sarebbero stati utilizzati per estrarre ore e minuti dalla stringa data,

e l'oggetto Date sarebbero stati utilizzati per i confronti.