Javascript date parsing on Iphone
For UTC/GMT time, you can try:
var arr = "2014-10-27T16:05:44+0000".split(/[\-\+ :T]/);
var date = new Date();
date.setUTCFullYear(arr[0]);
date.setUTCMonth(arr[1] - 1);
date.setUTCDate(arr[2]);
date.setUTCHours(arr[3]);
date.setUTCMinutes(arr[4]);
date.setUTCSeconds(arr[5]);
The date object will display in the proper local timezone when used.
You might have better luck if you stick to ISO 8601 format:
Date.parse("2010-03-15T10:30:00");
// e.g.
var d = new Date( Date.parse("2010-03-15T10:30:00") );
console.log( d.toString() ); //Mon Mar 15 2010 10:30:00 GMT+0000 (BST)
Not all browsers support the same date formats. The best approach is to split the string on the separator characters (-
,
and :
) instead, and pass each of the resulting array items to the Date
constructor:
var arr = "2010-03-15 10:30:00".split(/[- :]/),
date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]);
console.log(date);
//-> Mon Mar 15 2010 10:30:00 GMT+0000 (GMT Standard Time)
This will work the same in all browsers.