Jakich formatów dat mogę użyć przy określaniu daty ważności przy ustawianiu pliku cookie?

Używam funkcji, która ustawia plik cookie. Ta funkcja umożliwia przekazanie do niej nazwy pliku cookie, wartości pliku cookie i dodatkowej daty ważności pliku cookie.

funkcja:

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

stosowanie:

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

Korzystałem z funkcji w powyższym formacie daty i uważam, że jest ona kompatybilna z różnymi przeglądarkami, ponieważ testowałem, czy plik cookie pozostaje po zamknięciu różnych przeglądarek i ich ponownym otwarciu. Odkryłem, że podczas używania takiego formatu wystąpiły problemy"15 Jul 2012". Ten format działał dla mnie podczas tworzenia Firefoksa, ale inne przeglądarki wydawały się ustawiać ciasteczko tylko jako ciasteczko sesyjne.

Czy powinienem trzymać się tylko tego formatu: „Nie, 15 lipca 2012 r. 00:00:01 GMT” lub czy są inne formaty, których mogę użyć do daty wygaśnięcia, które będą działać w głównych przeglądarkach (IE 7-9, Firefox, Chrome , Opera, Safari)?

EDYCJA / AKTUALIZACJA:

Pliki cookie wymagają podania daty ważnościFormat UTC / GMT (patrz odpowiedź poniżej).

Zmodyfikowałem moją funkcję w następujący sposób, aby przekonwertować wszystkie przekazane daty, które nie są w formacie 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;
    };

questionAnswers(3)

yourAnswerToTheQuestion