Bagaimana cara mengakhiri cookie dalam 30 menit menggunakan jQuery?

121

Bagaimana cara mengakhiri cookie dalam 30 menit? Saya menggunakan cookie jQuery. Saya bisa melakukan sesuatu seperti ini.

$.cookie("example", "foo", { expires: 1 });

Ini untuk 1 hari. Tapi bagaimana kita bisa mengatur waktu kadaluwarsa menjadi 30 menit.

bluwater2001
sumber

Jawaban:

235

30 menit adalah 30 * 60 * 1000milidetik. Tambahkan itu ke tanggal sekarang untuk menentukan tanggal kedaluwarsa 30 menit di masa depan.

 var date = new Date();
 var minutes = 30;
 date.setTime(date.getTime() + (minutes * 60 * 1000));
 $.cookie("example", "foo", { expires: date });
Sinan Ünür
sumber
6
Juga untuk karya untuk inkarnasi yang lebih baru: js-cookie
cssyphus
4

Jika Anda menggunakan Cookie jQuery ( https://plugins.jquery.com/cookie/ ), Anda dapat menggunakan titik desimal atau pecahan.

Seperti satu hari 1, satu menit akan menjadi 1 / 1440(ada 1440 menit dalam sehari).

Jadi 30 menit 30 / 1440 = 0.02083333.

Kode terakhir:

$.cookie("example", "foo", { expires: 30 / 1440, path: '/' });

Saya telah menambahkan path: '/'agar Anda tidak lupa bahwa cookie disetel di jalur saat ini. Jika Anda /my-directory/menggunakan cookie hanya diatur untuk direktori ini.

Yvan
sumber
0

Saya mengalami masalah dalam mendapatkan kode di atas untuk berfungsi dalam cookie.js. Kode berikut berhasil membuat stempel waktu yang benar untuk cookie kedaluwarsa dalam contoh saya.

var inFifteenMinutes = Tanggal baru (Tanggal baru (). getTime () + 15 * 60 * 1000);

Ini dari FAQ untuk Cookie.js

Terry Carter
sumber