2013-04-17 24 views
6

Arkadaşım ve ben bir okul projesi yapıyoruz; Görev oda rezervasyonu sitesi yapmaktır. Bu bizim ilk yılımızda JavaScript'i deniyor ve zaman içinde biçimlendirilecek bir dizgenin olmasını istiyoruz (h: m). Oda-rezervasyon sitemizin kullanıcısı, o günün hangi saatinde oda istediğini seçebilir ve çıkış: H: m (24 saat-saat: dakika). Örneğin 12:15.Dize atıf dönüştürmek JavaScript (h: m)

Soruma şudur: Bu dizeyi (h: m) zamana dönüştürmek mümkün mü ve kullanıcının 30 dakikadan fazla rezervasyon zamanı yazıp yazmadığını kontrol etmek mümkün mü? Böylece, örneğin söyleyebiliriz:

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

birçok javascript tarih kütüphanelerini vardır: * http://momentjs.com/ * http://www.datejs.com/ * https://www.google.com/search?q=javascript+date + kütüphanesi en çok tarih ayrıştırma ve karşılaştırma işlemlerini gerçekleştirir. –

cevap

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); 

olanlar yıl, ay ve gün değerleri geçerli tarih kontrol ederek kendinize getirmek isteyebilirsiniz. Bu, dizeyi bir tarihe dönüştürmenin nasıl olduğunu göstermektir.

Milisaniye süresine dönüştürmek ve böylece iki kez karşılaştırmak için reserv.getTime() kullanın;

reserv.getTime() - reserv2.getTime() 

fazla bilgi için, MDN kontrol edin.

+1

'getTime' yöntemi gereksizdir; 'rezerv - rezerv2' aynı sonucu alacak. –

+0

@Sortofabeginner Yeterince adil :) –

1

Evet. regular expressions ve Date object kullanın.

regexpleri, tarih dizesinden

saat ve dakikayı çıkarmak için kullanılacak ve Tarih nesne karşılaştırmaları için kullanılacaktır.