2011-07-31 7 views
0

私は次のようにしてphpで次の分の値を取得しようとしています。php mktime AMPM値が間違っています

$one_minute_later = mktime(date("g"), date("i")+1, date("s"), date("n"), date("j"), date("Y")); 

$send_month = date("n", $one_minute_later); // Numeric representation of a month, without leading zeros 

$send_day = date("j", $one_minute_later); // Day of the month without leading zeros  

$send_year = date("Y", $one_minute_later); 

$send_hour = date("g", $one_minute_later); // 12-hour format of an hour without leading zeros 

$send_minute = date("i", $one_minute_later); // Minutes with leading zeros 00 to 59 

$send_ampm = date("A", $one_minute_later); 

ただし、このようにすると、常にAMという値がAMとして返されます。どんな考え?たとえば、このコードを午後6時に実行すると、1分後に午後6時01分が返されます。しかし、それは午前6時01分に戻っています。

答えて

1

mktimeは24時間で動作します。たぶんあなたはそれが午前/午後のパラメータを取っていないことに気づいた?時間パラメータは12時間ではなく24時間を表すためです。date('g')の代わりにdate('H')を使用します。

または、この操作全体では単にtime() + 60を使用してください。

+0

あなたは正しいです!私はそれを完全に逃した。迅速な答えDecezeに感謝します。ほんとうにありがとう。 –

関連する問題