MyMiniCity踏んでください!!

ただいま絶賛MyMiniCity参加中です.是非リンクを踏んでください!!(笑
December 26th, 2007

基本的に簡単なことなんだから日付の処理は丁寧におこないましょう

(Read: 33709)
Add to Hatena Bookmark

参照:
いまだにdate()の第2引数を省略したり,ところどころでtime()を何度も呼ぶということをしているコードは非常に多く,いいかげんなくなる様子もないですが,理由がない限り好ましくないことが多いと思います.

$year = date('Y');
$month = date('m');
$day = date('d');
$hour = date('H');
$minute = date('i');
$second = date('s');
これら処理の途中で想定外の時間の変化があったらどうするんでしょうか?


$year = date('Y');
$month = date('m');
$day = date('d');
$hour = date('H'); // ここで日付が変わったらどうしますか?
$minute = date('i');
$second = date('s'); // 例えばこの行の直前で「秒」が繰り上がったら$minuteとあわなくなる
理由がある場合は例えばログ出力やプロファイリング,パフォーマンス測定などでしょうか.
ただし,その場合も日時は一気に処理をするか,基準値を用意するべきでしょう.


define('NOW', time());
define('NOW_DATETIME', strftime('%Y-%m-%d %H:%M:%S', NOW));
define('NOW_DATE', strftime('%Y-%m-%d', NOW));
define('NOW_TIME', strftime('%H:%M:%S', NOW));
みたいな.特に海外向けにOSS開発をしている人は意識するといいと思います(UNICODE,iconv,mbstringあたりの取り扱いがあまり正しくできない人はそっちの方が意識すべきことだとは思いますが).


▼ この記事へのコメント ▼
下記の記述の2行目以降の閉じカッコが足りていないようです。

define('NOW', time());
define('NOW_DATETIME', strftime('%Y-%m-%d %H:%M:%S', NOW);
define('NOW_DATE', strftime('%Y-%m-%d', NOW);
define('NOW_TIME', strftime('%H:%M:%S', NOW);

wao

ご指摘ありがとうございます.修正いたしました.
あとコメント機能をバグで無効にしてしまったことがあるのでコメントテストもありがとうございます(笑

トピックの参照元

▼最近のトピック

▼ 人気のトピック


< 過去の記事 [ 12月の All Categories リスト ] 新しい記事 >
Powered by gsblog (customize)

[ POST ] [ AddLink ] [ CtlPanel ]

Subscribe blog

Bookmark blog

About me

about me

応援しています

我が息子が産まれたアクア・バースハウス(東京都世田谷区にある助産院)を応援しています.

翻訳のお仕事

腕に自信がある方,修行をしたい方はこちらをどうぞ.

2007 calendar

12月
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
| Day | Month | Year |

Powered by RRDTOOL.

Archives

Categories

Links


Mail to admin

人気ブログランキングへ RSS feed meter for http://blog.poyo.jp/ Search Engine Optimization
blogpeople.netに登録!! スカウター : よくきたblog

My Google news

My Google News

Related site

ころんころん♪ べびぽよ フォト蔵Wiki
string(14) "/id-1198635108"