29 days left..
- Date
- 2005-03-29 (Tue)
- Category
- Tech
今日から4週間で、最後の Thesis meeting になる。ま、やってる内容が単調だけに、プログラムが動きそう、っていうみんなの期待はすこし感じた ;)。ので、まぁ頑張んないとね。
今日はずーーーーっと、SQL。PHP のメモリの使い方を考えないと mail を grab してる途中でこける。そりゃあれだけたくさんのオブジェクトをいちいちコピーしてたらそりゃそうもなるよな〜。というわけで、コピーしないで、mysql にぶっ込む事にしました。
で、せっかくだから、MySQL の時間フォーマットに合わせておいた方があとあと便利だろうと思って、調べたらそこでハマる。
基本的に Gmail は
Mon, 28 Mar 2005 02:21:51 -0500
みたいな形で date 情報をくれる。それを MySQL などが使う ISO 8601 (参照:MySQL リファレンスマニュアル :: 6.2.2.2 DATETIME、DATE、TIMESTAMP 型)に載せ換えなきゃいけない。問題は MySQL に Timezone Designator がついてなくて、どこかの時間に統一しなくちゃいけないってことね。っていうか、そうやってマニュアルに書いてあるからでほんとはいけるのかもしれないけど試してない。どっちにしても時間関連の処理は勉強になるかも、とかおもって始めたらハマった。
まず桁上がり/下がりが10進数じゃないでしょ。それで計算した後は桁を2桁にそろえないといけない。ほかにも日は月によって不定でしょ、さらに閏年まである!日の変換エンジンまで行って、閏年を思い付いた時にめんどくさすぎる、と思ってなんかいい関数はないかと探してみた。というわけで、MySQL の subtime と、addtime を見つけた。(参照:MySQL リファレンスマニュアル :: 6.3.4 日付と時刻関数)
select subtime("2000-03-01 00:00:00", "00:00:10");
MySQL の関数の picky っぷりにはイライラしたが(だって subtime と ( の間に white space があると動かねぇんだもん。って当たり前?)、それより!これってどこから使えんのかな〜って思ったら MySQL 4.1.1 ですって。まぁ結構最近だよね〜。stage はどうよ、って Distrib 3.23.** …絶句。ま、もしかしたら PHP にも似た様な関数はあるだろうからそっち使うかもだけど…
それにしても、もう stage には我慢ならん。絶対 dedicated server 買ってやる。。。
Comment:0
Trackback:0
- TrackBack URL for this entry
- http://blogs.grf-design.com/mt/mt-tb.cgi/63
- Listed below are links to weblogs that reference
- 29 days left.. from The Croton