|
View:
New views
16 Messages
—
Rating Filter:
Alert me
|
|
|
[PHP-users 33716] プログラムが劣化することはあるのでしょうかセンターの森山さん、皆さん、こんにちわ( ゜ω 。)
PHP の作り方を勉強しています。 自分のホームページに、「今日は?曜日です」と表示させたくて、 ここの考え方のところを参考に PHP で作りました。 http://cl.is.kyushu-u.ac.jp/Literacy/PP/H14/adp/program/date.html 昨日完成したときはちゃんと日曜日と出たのでうまくいったのですが、 なぜか今日になって、うまく動かなくなってしまいました。 PHP は、放っておくと劣化するプログラムなのでしょうか? でも、昨日作ったプログラムと今日作ったプログラムを比べても まったく同じということが分かりました。なので劣化しないとおもいます。 どうしても自分でこたえがわかりませんので、お助けて下さい>< よろしくお願いします。 $y = date("Y"); $m = date("m"); $d = date("d"); if( $m < 3 ){ $y -- ; $m += 12; } $day = 365*$y + $y/4 - $y/100 + $y/400 + 306*($m+1)/10 + $d - 428; switch( $day % 7 ){ case 0: print "今日は日曜日です"; case 2: print "今日は月曜日です"; case 3: print "今日は火曜日です"; case 4: print "今日は水曜日です"; case 5: print "今日は木曜日です"; case 6: print "今日は金曜日です"; case 7: print "今日は土曜日です"; } _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33717] Re: プログラムが劣化することはあるのでしょうかはじめまして、難波です。
プログラムが劣化するというのは ハードディスクが壊れでもしない限りありません。 今回のプログラムは毎日入力も出力も変わるのですから、 毎日動作が変わって当然です。 全ての場合に対応できていないプログラムのバグです。 動かない時は必ずどこかしらにバグがありますので、 それをしっかり調べましょう。 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33718] Re: プログラムが劣化することはあるのでしょうか水沼です。
単純に「今日は?曜日です」と表示したいのであれば、 $week = date("w") switch($week){ case 0: print "今日は日曜日です"; case 2: print "今日は月曜日です"; case 3: print "今日は火曜日です"; case 4: print "今日は水曜日です"; case 5: print "今日は木曜日です"; case 6: print "今日は金曜日です"; case 7: print "今日は土曜日です"; } とやるとでますよ。 > -----Original Message----- > From: php-users-bounces@... > [mailto:php-users-bounces@...] On Behalf Of Mikan Ringo > Sent: Monday, June 30, 2008 6:30 PM > To: php-users@... > Subject: [PHP-users 33716]プログラムが劣化することはあるのでしょうか > > センターの森山さん、皆さん、こんにちわ( ゜ω 。) > PHP の作り方を勉強しています。 > > 自分のホームページに、「今日は?曜日です」と表示させたくて、 > ここの考え方のところを参考に PHP で作りました。 > http://cl.is.kyushu-u.ac.jp/Literacy/PP/H14/adp/program/date.html > > 昨日完成したときはちゃんと日曜日と出たのでうまくいったのですが、 > なぜか今日になって、うまく動かなくなってしまいました。 > PHP は、放っておくと劣化するプログラムなのでしょうか? > でも、昨日作ったプログラムと今日作ったプログラムを比べても > まったく同じということが分かりました。なので劣化しないとおもいます。 > > > どうしても自分でこたえがわかりませんので、お助けて下さい>< > よろしくお願いします。 > > > > $y = date("Y"); > $m = date("m"); > $d = date("d"); > > if( $m < 3 ){ > $y -- ; > $m += 12; > } > > $day = 365*$y + $y/4 - $y/100 + $y/400 + 306*($m+1)/10 + $d - 428; > > switch( $day % 7 ){ > case 0: > print "今日は日曜日です"; > case 2: > print "今日は月曜日です"; > case 3: > print "今日は火曜日です"; > case 4: > print "今日は水曜日です"; > case 5: > print "今日は木曜日です"; > case 6: > print "今日は金曜日です"; > case 7: > print "今日は土曜日です"; > } > _______________________________________________ > PHP-users mailing list PHP-users@... > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 > _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33719] Re: プログラムが劣化することはあるのでしょうか kunitsujiです。
http://jp2.php.net/date このあたりを参考にされるといいかもです。 w 曜日。数値。 0 (日曜)から 6 (土曜) で簡単に曜日を数値でとれます。 あと、switchで判定していますが、1がないですよね。 それででていないのではないでしょうか? 0から6までですね。 特に今日は月曜日なので1です。 >センターの森山さん、皆さん、こんにちわ( ゜ω 。) >PHP の作り方を勉強しています。 > >自分のホームページに、「今日は?曜日です」と表示させたくて、 >ここの考え方のところを参考に PHP で作りました。 >http://cl.is.kyushu-u.ac.jp/Literacy/PP/H14/adp/program/date.html > >昨日完成したときはちゃんと日曜日と出たのでうまくいったのですが、 >なぜか今日になって、うまく動かなくなってしまいました。 >PHP は、放っておくと劣化するプログラムなのでしょうか? >でも、昨日作ったプログラムと今日作ったプログラムを比べても >まったく同じということが分かりました。なので劣化しないとおもいます。 > > >どうしても自分でこたえがわかりませんので、お助けて下さい>< >よろしくお願いします。 > > > >$y = date("Y"); >$m = date("m"); >$d = date("d"); > >if( $m < 3 ){ > $y -- ; > $m += 12; >} > >$day = 365*$y + $y/4 - $y/100 + $y/400 + 306*($m+1)/10 + $d - 428; > >switch( $day % 7 ){ > case 0: > print "今日は日曜日です"; > case 2: > print "今日は月曜日です"; > case 3: > print "今日は火曜日です"; > case 4: > print "今日は水曜日です"; > case 5: > print "今日は木曜日です"; > case 6: > print "今日は金曜日です"; > case 7: > print "今日は土曜日です"; >} >_______________________________________________ >PHP-users mailing list PHP-users@... >http://ml.php.gr.jp/mailman/listinfo/php-users >PHP初心者のためのページ - 質問する前にはこちらをお読みください >http://oldwww.php.gr.jp/php/novice.php3 PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33720] Re: プログラムが劣化することはあるのでしょうかこんにちは。TKDです。
冗談で仰有っているのだとは思いますが、プログラムが劣化することはあり得ま せん。 バグが潜んでいたが混在化していなかったか、環境が変わったため(この場合だ とシステム時計が狂ったとか?)で問題が発生するケースは有ります。 ただ、曜日を特定するだけなら、質めんどくさい計算は忘れて、 date('w'); などとしておけば幸せになれますよ。 http://jp.php.net/manual/ja/function.date.php "Mikan Ringo" <kurano.suzuki@...>様: > センターの森山さん、皆さん、こんにちわ( ゜ω 。) > PHP の作り方を勉強しています。 > > 自分のホームページに、「今日は?曜日です」と表示させたくて、 > ここの考え方のところを参考に PHP で作りました。 > http://cl.is.kyushu-u.ac.jp/Literacy/PP/H14/adp/program/date.html > > 昨日完成したときはちゃんと日曜日と出たのでうまくいったのですが、 > なぜか今日になって、うまく動かなくなってしまいました。 > PHP は、放っておくと劣化するプログラムなのでしょうか? > でも、昨日作ったプログラムと今日作ったプログラムを比べても > まったく同じということが分かりました。なので劣化しないとおもいます。 > > > どうしても自分でこたえがわかりませんので、お助けて下さい>< > よろしくお願いします。 > > > > $y = date("Y"); > $m = date("m"); > $d = date("d"); > > if( $m < 3 ){ > $y -- ; > $m += 12; > } > > $day = 365*$y + $y/4 - $y/100 + $y/400 + 306*($m+1)/10 + $d - 428; > > switch( $day % 7 ){ > case 0: > print "今日は日曜日です"; > case 2: > print "今日は月曜日です"; > case 3: > print "今日は火曜日です"; > case 4: > print "今日は水曜日です"; > case 5: > print "今日は木曜日です"; > case 6: > print "今日は金曜日です"; > case 7: > print "今日は土曜日です"; > } > _______________________________________________ > PHP-users mailing list PHP-users@... > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 /////////////////////////// tkd <tkd_bind@...> -------------------------------------- Power up the Internet with Yahoo! Toolbar. http://pr.mail.yahoo.co.jp/toolbar/ _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33721] Re: プログラムが劣化することはあるのでしょうか岡本です。
劣化はしないと思います。 こんな感じで良いのでは? $w = date('w'); switch($w){ case 0: print "今日は日曜日です"; break; case 1: print "今日は月曜日です"; break; case 2: print "今日は火曜日です"; break; case 3: print "今日は水曜日です"; break; case 4: print "今日は木曜日です"; break; case 5: print "今日は金曜日です"; break; case 6: print "今日は土曜日です"; break; } ちなみに breakを入れないと、ダメだと思います。 あと、date('w'); の戻り値は 0〜6です。 0 日 1 月 2 火 3 水 4 木 5 金 6 土 です。 On Mon, 30 Jun 2008 18:36:40 +0900 水沼寛喜 <mizunuma@...> wrote: > 水沼です。 > > 単純に「今日は?曜日です」と表示したいのであれば、 > > $week = date("w") > > switch($week){ > case 0: > print "今日は日曜日です"; > case 2: > print "今日は月曜日です"; > case 3: > print "今日は火曜日です"; > case 4: > print "今日は水曜日です"; > case 5: > print "今日は木曜日です"; > case 6: > print "今日は金曜日です"; > case 7: > print "今日は土曜日です"; > } > > とやるとでますよ。 > > > > -----Original Message----- > > From: php-users-bounces@... > > [mailto:php-users-bounces@...] On Behalf Of Mikan Ringo > > Sent: Monday, June 30, 2008 6:30 PM > > To: php-users@... > > Subject: [PHP-users 33716]プログラムが劣化することはあるのでしょうか > > > > センターの森山さん、皆さん、こんにちわ( ゜ω 。) > > PHP の作り方を勉強しています。 > > > > 自分のホームページに、「今日は?曜日です」と表示させたくて、 > > ここの考え方のところを参考に PHP で作りました。 > > http://cl.is.kyushu-u.ac.jp/Literacy/PP/H14/adp/program/date.html > > > > 昨日完成したときはちゃんと日曜日と出たのでうまくいったのですが、 > > なぜか今日になって、うまく動かなくなってしまいました。 > > PHP は、放っておくと劣化するプログラムなのでしょうか? > > でも、昨日作ったプログラムと今日作ったプログラムを比べても > > まったく同じということが分かりました。なので劣化しないとおもいます。 > > > > > > どうしても自分でこたえがわかりませんので、お助けて下さい>< > > よろしくお願いします。 > > > > > > > > $y = date("Y"); > > $m = date("m"); > > $d = date("d"); > > > > if( $m < 3 ){ > > $y -- ; > > $m += 12; > > } > > > > $day = 365*$y + $y/4 - $y/100 + $y/400 + 306*($m+1)/10 + $d - 428; > > > > switch( $day % 7 ){ > > case 0: > > print "今日は日曜日です"; > > case 2: > > print "今日は月曜日です"; > > case 3: > > print "今日は火曜日です"; > > case 4: > > print "今日は水曜日です"; > > case 5: > > print "今日は木曜日です"; > > case 6: > > print "今日は金曜日です"; > > case 7: > > print "今日は土曜日です"; > > } > > _______________________________________________ > > PHP-users mailing list PHP-users@... > > http://ml.php.gr.jp/mailman/listinfo/php-users > > PHP初心者のためのページ - 質問する前にはこちらをお読みください > > http://oldwww.php.gr.jp/php/novice.php3 > > > > > _______________________________________________ > PHP-users mailing list PHP-users@... > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33722] Re: プログラムが劣化することはあるのでしょうか木内です。
> 昨日完成したときはちゃんと日曜日と出たのでうまくいったのですが、 > なぜか今日になって、うまく動かなくなってしまいました。 > PHP は、放っておくと劣化するプログラムなのでしょうか? そのような事はまずありません。 もし、何もいじくっていなくて、うまく動作しないのであれば、 それは昨日においても同様にうまく動いていなかったということです。 それはさておき… strftimeという関数もあります。 http://jp2.php.net/manual/ja/function.strftime.php echo '今日は'.strftime('%a').'曜日です。'; localeに注意も必要ですが、これが簡単なのではないでしょうか? -- 木内智史 <samurai@...> ------------------------------------------------------------ >From : "Mikan Ringo" <kurano.suzuki@...> Subject : [PHP-users 33716] プログラムが劣化することはあるのでしょうか > センターの森山さん、皆さん、こんにちわ( ゜ω 。) > PHP の作り方を勉強しています。 > > 自分のホームページに、「今日は?曜日です」と表示させたくて、 > ここの考え方のところを参考に PHP で作りました。 > http://cl.is.kyushu-u.ac.jp/Literacy/PP/H14/adp/program/date.html > > 昨日完成したときはちゃんと日曜日と出たのでうまくいったのですが、 > なぜか今日になって、うまく動かなくなってしまいました。 > PHP は、放っておくと劣化するプログラムなのでしょうか? > でも、昨日作ったプログラムと今日作ったプログラムを比べても > まったく同じということが分かりました。なので劣化しないとおもいます。 > > > どうしても自分でこたえがわかりませんので、お助けて下さい>< > よろしくお願いします。 > > > > $y = date("Y"); > $m = date("m"); > $d = date("d"); > > if( $m < 3 ){ > $y -- ; > $m += 12; > } > > $day = 365*$y + $y/4 - $y/100 + $y/400 + 306*($m+1)/10 + $d - 428; > > switch( $day % 7 ){ > case 0: > print "今日は日曜日です"; > case 2: > print "今日は月曜日です"; > case 3: > print "今日は火曜日です"; > case 4: > print "今日は水曜日です"; > case 5: > print "今日は木曜日です"; > case 6: > print "今日は金曜日です"; > case 7: > print "今日は土曜日です"; > } > _______________________________________________ > PHP-users mailing list PHP-users@... > http://ml.php.gr.jp/mailman/listinfo/php-users > PHP初心者のためのページ - 質問する前にはこちらをお読みください > http://oldwww.php.gr.jp/php/novice.php3 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33723] Re: プログラムが劣化することはあるのでしょうか皆さん、ありがとうございます><
switch( $day % 7 ){ case 0: print "今日は日曜日です"; break; case 1: ←ここから下が間違っていました!! print "今日は月曜日です"; break; case 2: print "今日は火曜日です"; break; case 3: print "今日は水曜日です"; break; case 4: print "今日は木曜日です"; break; case 5: print "今日は金曜日です"; break; case 6: print "今日は土曜日です"; break; } ぼくのソースに間違いでした。とてむ恥ずかしいです。 今後は自分で解決できるようにしますので、どうかお許しください。 皆さん、ありがとうございました。 あと、date('w') なら、上でやっている細かい計算をしなくてもすむことも よく分かりました。 $days = date('w'); switch( $days ){ : : } こういうことですね!PHPを発明した人は、かいい所に手が届いていますね! 見た目もヵヮィィのでこれを使おうと思います('w') ('w') ('w') strftimeも使ってみましたが、 「今日は Mon 曜日です」と、英語の曜日が出てしまいました… もんようび!! セットlocale を使うと日本語の曜日になるかもと思っていじってみましたが なかなかでないのであきらめました。 もっと勉強してから使ってみようと思ます。 <?php print "ありがとうございました。" ?> _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33724] Re: プログラムが劣化することはあるのでしょうか Setoです。
switch を使わない一例として $week = date("w"); $week_eng = array( 0, 1, 2, 3, 4, 5, 6 ); $week_jap = array( '日','月','火','水','木','金','土' ); print "今日は".str_replace($week_eng,$week_jap,$week)."曜日です"; 見易さはswitchのが上でしょうか・・・ Junya Seto _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33725] Re: プログラムが劣化することはあるのでしょうか加藤です
> Setoです。 > switch を使わない一例として > > $week = date("w"); > $week_eng = array( 0, 1, 2, 3, 4, 5, 6 ); > $week_jap = array( '日','月','火','水','木','金','土' ); > print "今日は".str_replace($week_eng,$week_jap,$week)."曜日です"; > > 見易さはswitchのが上でしょうか・・・ > Junya Seto 配列を使うなら、ちょっと上記をお借りしまして $week = date("w"); $week_jap = array( '日','月','火','水','木','金','土' ); print "今日は".$week_jap[$week]."曜日です"; でよさげですかね? _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33726] Re: プログラムが劣化することはあるのでしょうか Setoです。
>配列を使うなら、ちょっと上記をお借りしまして > >$week = date("w"); >$week_jap = array( '日','月','火','水','木','金','土' ); >print "今日は".$week_jap[$week]."曜日です"; > >でよさげですかね? まったく持っておっしゃる通り! こちらのほうが断然スマートで良いですね :-) Junya Seto _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33727] Re: プログラムが劣化することはあるのでしょうかパパぱふぅです。
問題は解決したようですね。老婆心ながら——。 >$day = 365*$y + $y/4 - $y/100 + $y/400 + 306*($m+1)/10 + $d - 428; この式ですが、閏年の月末・月初の曜日に不安を感じます。 というのは、このままだと、曜日を導出する公式として有名な「ツェラーの公式」 (Wikipedia参照のこと)と、式が一致しなくなる日付があるためです。 int でキャスティングするか、除算部分の小数点以下を切り捨てる必要があるの ではないかと思います。 すでにアドバイスが出ていますが、date 関数を使うのが無難だと思います。 ========================== パパぱふぅ http://www.pahoo.org/ ========================== _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33728] Re: プログラムが劣化することはあるのでしょうかハカセです
> こちらのほうが断然スマートで良いですね :-) なら、 echo "今日は".mb_substr('日月火水木金土',date('w'),1)."曜日です"; _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33729] Re: プログラムが劣化することはあるのでしょうかばし軒といいます
プログラムは劣化しないかも知れませんけど 新しくよいもの、安いものに変わられ古くなり使われなくなる という意味で劣化ともいえませんでしょうか そして新しいもののなんかの肥やしになってればいいので はないでしょうか 題名がユニークだったので、こんなこと思いました。 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33757] Re: プログラムが劣化することはあるのでしょうか皆さんありがとうございます( ゜ω`)
色んな方法があるのですね・・・マニュアルよりも勉強になりますね まさか1行で済んでしまうなんて思ってもいませんでした $uranai = array( '大吉','吉','凶','大凶','入院','地獄','涅槃'); print "今日のぼくの運勢は" . $uranai[date('w')] . "です"; 配列はいまいち良く分からないのですが、数だけ合わせてこんなこともできますね! 色々応用できそうです。ありがとうございます。 _______________________________________________ PHP-users mailing list PHP-users@... http://ml.php.gr.jp/mailman/listinfo/php-users PHP初心者のためのページ - 質問する前にはこちらをお読みください http://oldwww.php.gr.jp/php/novice.php3 |
|
|
[PHP-users 33758] Re: プログラムが劣化することはあるのでしょうか |