Javascript Data Type How to - Convert "Saturday 9:00 PM" to date object








Question

We would like to know how to convert "Saturday 9:00 PM" to date object.

Answer


<!DOCTYPE html>
<html>
<head>
<script type='text/javascript'
  src='http://code.jquery.com/jquery-1.11.0.js'></script>
<script type='text/javascript'>
$(window).load(function(){<!--from   ww  w.j av a  2 s  .  c o  m-->
var date = 'Saturday 9:00 PM';
var days = [
    'Sunday',
    'Monday',
    'Tuesday',
    'Wednesday',
    'Thursday',
    'Friday',
    'Saturday'
];
var parts = date.split(/\s/);
var day   = days.indexOf(parts[0]);
var hours = Number(parts[1].match(/^(\d+)/)[1]);
var mins  = Number(parts[1].match(/:(\d+)/)[1]);
var AMPM  = parts[2];
if(AMPM == "PM" && hours<12) hours = hours+12;
if(AMPM == "AM" && hours==12) hours = hours-12;
var d    = new Date();
var dday = d.getDay();
d.setDate(d.getDate() + (day - dday));
d.setHours(hours);
d.setMinutes(mins);
document.writeln(d)
});
</script>
</head>
<body>
</body>
</html>

The code above is rendered as follows: