2007年04月27日
経過日数を計算
いろいろやってると、作ったけど使わなかった、なんて処理が出てきます。
何かに使おう…なんて思いつつも今ひとつ使いどころがなかったりするんですよね。
まぁそんなのばっかりだから困り物ですが。
そんな貴重な(?)ボツコレクションから1つ。
"YYYY-MM-DD" 形式の日付から、ある決まった日付(1970-01-01 1600-01-01)からの経過日数を求める関数です。
これを使うと、ある日付からの経過日数を求める事ができます。
※不具合検証中。とりあえず訂正しました。
何かに使おう…なんて思いつつも今ひとつ使いどころがなかったりするんですよね。
まぁそんなのばっかりだから困り物ですが。
そんな貴重な(?)ボツコレクションから1つ。
"YYYY-MM-DD" 形式の日付から、ある決まった日付(
これを使うと、ある日付からの経過日数を求める事ができます。
※不具合検証中。とりあえず訂正しました。
integer getPastDay(string day){
integer y=(integer)llGetSubString(day,0,3);
integer m=(integer)llGetSubString(day,5,6);
integer d=(integer)llGetSubString(day,8,9);
if(m<=2){
m+=12;
y--;
}
// y-=1970; //base
y-=1600; //base
return (30*m)+(((m+1)*3)/5)+(d - 33) + (365*y)+(y/4)-(y/100)+(y/400);
}
default{
touch_start(integer n){
string day = "2007-01-01";
integer past = getPastDay(llGetDate()) - getPastDay(day);
llOwnerSay("It has passed from "+day+" on the "+(string)past+"th today.");
}
}
工夫すればカウントダウンなどにも使えそうですね。
しかし、blogは勝手に改行が入ったりすのでコード類は載せ辛いな…。
Posted by ともねこ at 04:57│Comments(0)
│スクリプト