Date manipulation: Difference between revisions
Content deleted Content added
Nimrod -> Nim |
|||
Line 818:
<lang JavaScript>function add12hours(dateString) {
// Get the parts of the date string▼
▲ // Get the parts of the date string
▲ var parts = dateString.split(/\s+/);
▲ var date = parts[1];
▲ var month = parts[0];
▲ var year = parts[2];
▲ var time = parts[3];
▲ var ampm = time && time.match(/[a-z]+$/i)[0];
▲ var hr = Number(time.split(':')[0]);
▲ var min = Number(time.split(':')[1].replace(/\D/g,''));
▲ var zone = parts[4].toUpperCase();
var months = ['January','February','March','April','May','June',
'July','August','September','October','November','December'];
var zones = {'EST': 300, 'AEST': -600}; // Minutes to add to zone time to get UTC
// Convert month name to number, zero indexed. Return if invalid month
month = months.indexOf(month);
if (month === -1) { return; }
▲ }
//
// Create a date object in local zone
var
// Adjust minutes for the time zones▼
d.setMinutes(d.getMinutes() + zones[zone] - d.getTimezoneOffset() );▼
▲ // Adjust localTime minutes for the time zones so it is now a local date
// representing the same moment as the source date plus 12 hours
return
}
var inputDateString = 'March 7 2009 7:30pm EST';
console.log(
'Input: ' + inputDateString + '\n' +
'+12hrs in local time: ' + add12hours(inputDateString)
|