私は少し初心者ですので、私に同行してください。私は誰かが新しいページを開くたびに、javascriptで日付オブジェクトを作成しました。ユーザーがページを開いた時刻を保存し、ちょうど1日後に別の日付オブジェクトを作成して日付1から日付2までの経過時間を示すカウントダウンタイマーを作成します。Dateオブジェクトを静的に保ち、更新を避けるにはどうすればいいですか?
これを達成するために、 .getTime
;私は、現在の時刻よりも1日ではなく、2番目の日付を静的に保ちたい。残念ながら、d2
(日付2)を1回だけ実行され、変数nextday
に格納されている条件に限定しても、これは起こりません。ここに私のJSだ
$(function(){
localStorage.clear()
var ran = JSON.parse(localStorage.getItem('run'))
d1 = new Date()
var i = 0
if(!ran){
i+=1
d2 = new Date(d1)
nextday = d2.setHours(d1.getHours()+24)
console.log(i)
console.log(typeof(nextday))
localStorage.setItem('run',JSON.stringify('ran'))
localStorage.setItem('nextday',JSON.stringify(nextday))
}
console.log(localStorage)
nday = JSON.parse(localStorage.getItem('nextday'))
console.log(nday)
var seconds = (nday - d1.getTime())
console.log(seconds)
console.log(localStorage)
})
オブジェクトを関数に変換します。あなたがそれを要求するたびに、あなたは同じデータを得るでしょう。 – Derek
夏時間を観測する場所では、24時間を追加することで1日を追加しないでください.24時間でない2日が毎年あります。日付に1を加えて、[*現在の日付に+1を加える*](http://stackoverflow.com/questions/9989382/add-1-to-current-date/9989458#9989458)を参照してください。 – RobG