Mr.Turtle
Mr.Turtle

Reputation: 3090

Convert string to time JavaScript (h:m)

My friend and I are doing a school project; the task is to make a room-reservation-site. This is our first year trying JavaScript, and we want a string to be formatted into time (h:m). The user of our room-reservation-site can choose what time of the day he/she wants the room, and the output is: H:m (24hour-clock:minutes). For example 12:15.

Therefor my question is: Is there possible to convert this string (h:m) into time, and easily check if the user typed more than 30minutes of booking-time? So we can for example say:

 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..
 }

Upvotes: 12

Views: 85005

Answers (2)

Brian McCutchon
Brian McCutchon

Reputation: 8584

Yes. Use regular expressions and the Date object.

RegExps would be used to extract hours and minutes from the date string,

and the Date object would be used for comparisons.

Upvotes: 0

user1467267
user1467267

Reputation:

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

Those year, month and day values you might want to fetch for yourselves by checking the current date. This is purely to show how to convert the string into a date.

Use reserv.getTime() to convert to milliseconds time and thus being able to compare two times;

reserv.getTime() - reserv2.getTime()

For more information, check the MDN.

Upvotes: 17

Related Questions