Какие форматы даты можно использовать при указании даты истечения срока действия при настройке файла cookie?

Я использую функцию, которая устанавливает cookie. Эта функция позволяет передавать в него имя куки-файла, значение куки-файла и дополнительную дату истечения срока действия куки-файла.

the function:

function setCookie(name, value, exdate) {
    var c_value = escape(value) + ((exdate === null || exdate === undefined) ? "" : "; expires=" + exdate);
    document.cookie = name + "=" + c_value;
};

usage:

setCookie("my-cookie-name","my-value","Sun, 15 Jul 2012 00:00:01 GMT");

Я использовал функцию с указанным выше форматом даты и считаю, что она совместима с несколькими браузерами, поскольку я проверял, сохраняется ли файл cookie после закрытия различных браузеров и их повторного открытия. Я обнаружил, что были проблемы при использовании такого формата, как"15 Jul 2012", Этот формат работал для меня во время разработки в Firefox, но другие браузеры, казалось, устанавливали cookie только как cookie сессии.

Should I stick to using just this format: "Sun, 15 Jul 2012 00:00:01 GMT" or are there other formats I could use for the expiry date that will work across the major browsers (IE 7-9, Firefox, Chrome, Opera, Safari)?

EDIT/UPDATE:

Для файлов cookie требуется срок действияUTC/GMT Format (см. ответ ниже).

Я отредактировал свою функцию следующим образом, чтобы преобразовать любые прошедшие даты, которые не в формате corect.

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;
    };

Ответы на вопрос(3)

Ваш ответ на вопрос