質問
んのトラブルのmktimeます。私の生産をサーバーがいを記憶させることができます。:
echo '<p>' . mktime(24, 0,0, 8,29,2009) . ' - 12pm</p>';
echo '<p>' . mktime(23, 0,0, 8,29,2009) . ' - 11pm</p>';
echo '<p>' . mktime(22, 0,0, 8,29,2009) . ' - 10pm</p>';
を変えるタイムスタンプに戻り読みやすいフォーマットを使用 www.unixtimestamp.com 迅速な転換の時間は全てオフにしております。いことを考えていたこの問題であった2400VS0000ものなら、他のお日にちています。
そのアイデア?
解決
サーバは異なる時間帯によります。Unixタイムスタンプで測定した秒以1.1.1970 00:00:00 GMT, ですから、隠れた時間帯の変換にコードです。きのいずれか
- 使用
gmmktime()
をタイムスタンプ、GMT日 - 利用の組み込み DateTimeのクラス,
- 正しいの タイムゾーンの設定をクリアしました。ini, や
- タイムゾーンの設定使用する機能
date_default_timezone_set()
.
他のヒント
私は、コマンドラインから次を実行して、次の(予想)の出力を得ました。あなたがそれらを実行した場合はどうなりますか?
$ php -r "echo date('H:i:s Y-m-d', mktime(24, 0, 0, 8, 29, 2009));"
00:00:00 2009-08-30
$ php -r "echo date('H:i:s Y-m-d', mktime(23, 0, 0, 8, 29, 2009));"
23:00:00 2009-08-29
$ php -r "echo date('H:i:s Y-m-d', mktime(22, 0, 0, 8, 29, 2009));"
22:00:00 2009-08-29
私の問題に mktime
を入力し日月 先頭.の機能に戻っ違います。一つのオプションの先頭のゼロ機能など
$str = ltrim($str, '0');
ソース: 削除方法は、全て先頭にゼロ、文字列
または
$var = (int)$var;
ソース: PHPの除去初頭に
使用した可能性の一つからsoulmerge:
$date = new DateTime($year . '-' . $month . '-' . $day . ' ' . $hour . ':' . $minute . ':' . $seconds);
$match_time = $date->getTimestamp();
そのタイムゾーンは常にセット(どちらかと date_default_timezone_set()
または直接 DateTime
.
所属していません StackOverflow