忍者ブログ
管理人の妄言たれながし個人memo
2024-121 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 prev 11 next 01
83  82  81  80  79  78  77  76  75  74  73 
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

日記書こうとログインしたはいいが、眠くなってきて何書こうとしたかも忘れてもた…orz
つーワケでネタもないのでScriptメモ。

アレパラに合わせて別館で使っていたカウントダウンのScript。

<SCRIPT language="JavaScript">
<!--
myIvent=new Date(2007, 1, 18);     //イベントの日付を取得---(*)
myToday=new Date();                       //今日の日付を取得
myYear=myToday.getYear();
myMonth=myToday.getMonth();
myDay=myToday.getDate();
if(myYear<2000) myYear=myYear+1900;
myToday=new Date(myYear, myMonth, myDay);
mySec=myIvent.getTime()-myToday.getTime();
       //イベント日から今日を引いた分の秒数
myDays=Math.floor(mySec/(1000*60*60*24));
document.write("あと<B style='color: #80e040'>"+myDays+"</B>日");
//-->
</SCRIPT>

今回は直接HTMLファイルに書きましたが、問題は下線部分。例によって即興で手抜きスクリプト書いてたので、イベント5日前まで下線部分がありませんでした。
このif文は何してるかと言うと、年が2007で取得されているか否かの判断。ブラウザによっては107年になってるものがあるのです。その場合1900足して2007年にしてるわけ。
これを怠ると、107で取得するブラウザでは、2007年○月×日-107年△月□日で計算し―――日数に換算して実に69000以上にもなってしまうのです。
そして、私はそれを知っていながら放置してました…(苦笑
だって、殆どのブラウザは2007かな~って…。
で5日前あたりに年のためNNで見てみたら69000↑って表示されてて…。
つーか秒数計算の時点でオーバーフローってないんだな…JavaScript……。

(*)あと、イベントは2/18でしたが、プログラムでは2007、1、18で引数をとってます。これはプログラム上月のカウントが0から始まるから。

PR
NAME
TITLE
COLOR
MAIL
URL
COMMENT
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
PASS
TRACKBACK URL 
カレンダー
11 2024/12 01
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
フリーエリア
最新CM
[10/17 KARIKO]
[10/26 みう]
[06/05 sa-na]
[06/02 みう]
[02/15 遠野]
プロフィール
管理人:
河口和乃
職業:
腐女子(職業?)
ゲーム系同人やってるオタ。でも新しい波についていけない老人。しかし最近は年甲斐もなく某少年誌に傾倒してるため、口を開けばそっちの話ばっかり。年考えろ。(死
バーコード
ブログ内検索
アクセス解析
"河口和乃" WROTE ALL ARTICLES.
PRODUCED BY SHINOBI.JP @ SAMURAI FACTORY INC.
忍者ブログ [PR]