Which date formats can I use when specifying the expiry date when setting a cookie?

Based on testing and further reading into this, a date in a UTC/GMT format is required by cookies e.g. Sun, 15 Jul 2012 00:00:01 GMT

Therefore any dates in other formats such as 15 Jul 2012, or 15/Jul/2012, or 07/15/2012, have to be passed as a new Date object and then through the toUTCString() or the toGMTString() function.

therefore I have edited my function to the following:

function setCookie(name, value, exdate) {
    //If exdate exists then pass it as a new Date and convert to UTC format
    (exdate) && (exdate = new Date(exdate).toUTCString());
    var c_value = escape(value) + ((exdate === null || exdate === undefined) ? "" : "; expires=" + exdate);
    document.cookie = name + "=" + c_value;
};

The syntax specified in rfc 6265 for generating Set-Cookie headers uses
rfc1123-date = wkday "," SP date1 SP time SP "GMT" cookie date format and therefore "Sun, 15 Jul 2012 00:00:01 GMT" works.

If I understand it correctly, the parsing algorithm would recognize other formats e.g.: 00:00:01 15 jul 2012 but they should not be generated.


Found the date format ddd, dd MMM yyyy HH':'mm':'ss 'GMT'. May someone find is useful. Also very good reference here