PHPについて


strftime('%G/%m/%d %H:%M:%S', time())

とすると 2009年を返してきます。(現時点では)
幾つかのレンタルサーバで試しましたが同じ結果でした。

既に記録されている色々なデータが2009年で記録されてしまっております。

私の書き方がいけないのでしょうか。
それともこういう仕様ですか?

よろしくお願いします。

回答の条件
  • 1人1回まで
  • 登録:2008/12/29 13:48:12
  • 終了:2008/12/29 14:46:12

回答(2件)

id:toohigh No.1

toohigh回答回数291ベストアンサー獲得回数372008/12/29 14:10:49

ポイント35pt

そういう仕様です。(逆に2008が返るようなら、カレンダーがおかしいなどの理由だと思われます。)普通の意味での年を知りたい場合は %G の代わりに %Y を使う必要があります。

http://php.benscom.com/manual/ja/function.strftime.php

id:worldtravel

Yだったのですね

ありがとうございました

2008/12/29 14:45:59
id:kn1967 No.2

kn1967回答回数2915ベストアンサー獲得回数3012008/12/29 14:26:01

ポイント35pt

phpはCという言語で開発されているのですが

C言語の時刻の取り扱いに問題があるため

それをそのまま引きずる形で、そのような状態に陥っています。


php自体をコンパイルしなおす権限と知識があれば対応可能ですが

そうでなければdate関数に置き換えるなどで対処することになります。

date('Y/m/d H:m:s', time())

PHP: date - Manual

id:worldtravel

ありがとうございました

2008/12/29 14:46:02

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません