javascriptiphonedatemobile-safarimobile-webkit

Javascript date parsing on Iphone


I'm working on an offline capabable Javascript site that targets mobile devices. One such mobile device is the IPhone.

I'm trying to parse a date from our REST API (a member of JSON object). I'm using

Date.parse("2010-03-15 10:30:00");

This works on Android devices, however on IPhone it just gives an invalid date.

How do I need to format my date string so it can be parsed by the IPhone?


Solution

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