I have dynamic string with a HH:mm:ss
format (e.g. 18:19:02
). How can the string be converted into a JavaScript Date object (in Internet Explorer 8
You cannot create a Date Object directly just from a time like HH:mm:ss
.
However - assuming you want the actual date(day) or it doesn't matter for your case - you could do the following:
let d = new Date(); // Creates a Date Object using the clients current time
let [hours, minutes, seconds] = "18:19:02".split(':'); // Using ES6 destructuring
// var time = "18:19:02".split(':'); // "Old" ES5 version
d.setHours(+hours); // Set the hours, using implicit type coercion
d.setMinutes(minutes); // You can pass Number or String. It doesn't really matter
d.setSeconds(seconds);
// If needed, adjust date and time zone
console.log(d.toString()); // Outputs your desired time (+current day and timezone)
Now you have a Date object which contains the time you specified plus the current date and timezone of your client.