1

現在の日付を取得できますが、現在の日付 + 1 日 (GMT) を取得する方法がわかりません。

var now = new Date();
var newexp = (now + 3);
var show = newexp.getGMTString();

alert(show);

私が実際にやろうとしているのは、1 日で期限切れになるように Cookie を設定することです。

function SetCookie(name, value, exp) {
 var now = new Date();
 var newexp = (now + exp); // exp being # of days before expiration
 document.cookie= name + "=" + value+ "; expires=" + newexp.getGMTString() + ";"
}

SetCookie('name', 'john', '3');

明らかに、これは機能していません。

4

3 に答える 3

5

Javascript Dateオブジェクトを使用すると、格納されている日付を非常に簡単に操作できます。

明日のDateオブジェクトを取得するために必要なのは...

var date = new Date();
date.setDate(date.getDate() + 1);
于 2012-07-04T20:16:11.500 に答える
2
function SetCookie(name, value, exp) {
var now = new Date();
now.setTime(now.getTime()+(exp*24*60*60*1000));
document.cookie= name + "=" + value+ "; expires=" + now.toGMTString() + ";"
}

SetCookie('name', 'john', '3');

経験値を要因として編集しました。日の。

于 2012-07-04T20:18:24.443 に答える
2

それについての別の考え方は、基本的な「エポックからのミリ秒」表現に戻ることです。

var date = new Date()
date.setTime(date.getTime() + 24 * 60 * 60 * 1000)

または、2つの別々の変数を使用します。

var now = new Date()
var expiry = new Date(now.getTime() + 24 * 60 * 60 * 1000)

またはインライン化:

var expiry = new Date(new Date().getTime() + 24 * 60 * 60 * 1000)

これにより、 24時間後の日付が表示されることに注意してください。これ、23時間または25時間になる可能性がある「明日の同じ現地時間」と同じ時間ではありません(2011年のサモアの12月の場合は存在しません)。個人的には「一定の時間」という安定したアプローチが好きですが、YMMVです。

明らかに、有効期限を別の日数にするには、24 * 60 * 60 * 1000定数(1日のミリ秒数)に必要な日数を掛けるだけです。

于 2012-07-04T20:18:53.737 に答える