Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Javascript установить cookie до заданного числа (https://javascript.ru/forum/misc/20722-javascript-ustanovit-cookie-do-zadannogo-chisla.html)

Zhazhah 15.08.2011 11:45

Javascript установить cookie до заданного числа
 
Здравствуйте, не могу разобраться, каким образом можно установить жизнь Cookie например до 00:00, т.е когда бы cookie небыли созданы они должны удаляться в 00:00

devote 15.08.2011 12:29

узнвешь текущее время, определяешь сколько осталось до 0 часов, потом при установке кук задаешь значение времени жизни, текущее время + остаток до 0 часов

Magneto 15.08.2011 12:51

Цитата:

Сообщение от devote (Сообщение 120622)
узнвешь текущее время, определяешь сколько осталось до 0 часов, потом при установке кук задаешь значение времени жизни, текущее время + остаток до 0 часов

Сам хоть понял что сказал?

devote 15.08.2011 13:21

Цитата:

Сообщение от Magneto
Сам хоть понял что сказал?

сойдет)

Zhazhah 15.08.2011 14:03

Цитата:

узнвешь текущее время, определяешь сколько осталось до 0 часов, потом при установке кук задаешь значение времени жизни, текущее время + остаток до 0 часов
Спасиб))
var d = new Date();
var date = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59,59);

сделал так, только вывод Mon Aug 15 2011 23:59:59 GMT+0400 (MSD)
в cookie записывается дата смерти cookie 16 2011 3:59:59
как можно это исправить?

Magneto 15.08.2011 14:39

Цитата:

Сообщение от Zhazhah (Сообщение 120656)
Спасиб))

Там незачто говорить спасибо, так как человек не понимает как живут куки.

Вот скрипт который тебе нужен:
// Получаем текущуее время
var now = new Date();

  //  Устанавливаем дату сегодня в полночь 
var midnight = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59, 0);

  // Записываем в переменную время жизни куки
  // В переменной будет находиться время (в миллисекундах) которое нужно установить кукам чтоб они умерли
  // сегодня в полночь
var cookiesLife = midnight.getTime() - now.getTime();

B@rmaley.e><e 15.08.2011 15:46

Цитата:

Сообщение от Magneto
Там незачто говорить спасибо, так как человек не понимает как живут куки.

А Вы понимаете?

Cookie:
Цитата:

Expiry date

Each cookie has an expiry date after which it is trashed. If you don't specify the expiry date the cookie is trashed when you close the browser. This expiry date should be in UTC (Greenwich) time.

Zhazhah 15.08.2011 15:51

Цитата:

Вот скрипт который тебе нужен:
Мне в Cookie необходимо удалять каждый день в 00:00 т.е мне достаточно этого
var now = new Date();
var midnight = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59, 0);

только чтобы GMT+0300 (MSK) а не GMT+0400 (MSD)

а ваш код возвращает Thu Jan 01 1970 11:20:36 GMT+0300 (MSK)

devote 15.08.2011 16:11

Цитата:

Сообщение от Magneto
Там незачто говорить спасибо, так как человек не понимает как живут куки.

Будь уверенным перед тем как говорить это.

Magneto 15.08.2011 16:14

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 120674)
А Вы понимаете?

Я не говорю по-английски, и в даном случае ссылки Ваши имеют вес только для Вас.

Если есть желание подискутировать, давайте, только на Русском.

Насчет куков: кукам нужно устанавливать время, не то когда они должны умереть, а то сколько они должны прожить (в секундах). И я сейчас говорю о свойстве max-age.

document.cookie = 'key=value; max-age=(время в секундах)';


Часовой пояс GMT +3, время: 06:04.