Преобразование даты в формате GTM String в объект даты в Javascript

Из Java мне нужно установить время истечения срока действия cookie для содержимого cookie вместо установки времени истечения срока действия этого файла cookie. Следующий код показывает, как это было сделано.

public static Cookie addOPBrowserStateCookie(HttpServletResponse response) {

    int expiresSeconds = 120;
    Date date = new Date();
    date = new Date(date.getTime() +1000 * expiresSeconds);
    String expiryTime = date.toGMTString();
    Cookie cookie =
            new Cookie(OIDCSessionConstants.OPBS_COOKIE_ID, UUID.randomUUID().toString() + "_" + expiryTime);
    cookie.setSecure(true);
    cookie.setPath("/");

    response.addCookie(cookie);
    return cookie;
}

Затем из Javascript мне нужно преобразовать эту строку обратно в объект даты и сравнить с текущим значением даты. Вот как я пытался это сделать.

    function getOPBrowserState() {
        var name = "opbs = ";
        var cookie = document.cookie + ";";
        var start = cookie.indexOf(name);
        if (start != -1) {
            var end = cookie.indexOf(";", start);
            opbs = cookie.substring(start + name.length, end);
        }

        console.info(opbs);
        var c = opbs.split('_');
        var result = c[0];
        var expiry_time = Date.parse(c[1]);
        var now = Date.now();
        console.info(expiry_time.toString());

        if (expiry_time < now) {
            return null;
        }
        else {
            return result;
        }

    }

Однако, когда я использую Date.parse в строке, я продолжаю получать значение Nan для expire_date. Цените вашу помощь в этом.

Спасибо!

Что содержит c[1]? С new Date() должно работать, если передать ему строку GMT.

amicoderozer 31.05.2018 09:03

это строка GMT, которую я установил из Java для содержимого cookie, например "31 мая 2018 07:24:01 GMT"

sathya 31.05.2018 09:23
new Date("31 May 2018 07:24:01 GMT"); должен работать
amicoderozer 31.05.2018 09:33

Спасибо! Да, это сработало. Однако проблема заключалась в том, что при разделении строки opbs случайным образом к концу строки добавлялись двойные кавычки. Следовательно, я получил результат Нан и раньше.

sathya 01.06.2018 19:18
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
386
0

Другие вопросы по теме