-2

私は次のコードを持っています:

$value = '2012-03-05';
$parts = explode('-',$value);
$value = mktime(0,0,0,$parts[1],$parts[0],$parts[2]);

// output of $value is 2012

mktime()?のような出力を返す必要はありませんtime()か?

私のコードの何が問題になっていますか?

4

3 に答える 3

5

strtotime時間を表す文字列をUNIXタイムスタンプ番号に変換するには、この関数を使用します

$value = "2012-05-25";
$time = strtotime($value." 00:00:00");
//$time = strtotime($value); will do the work as well
于 2012-05-11T18:47:50.713 に答える
1

それはmktimeの間違った使用法です。ここの日は翌年ではなく年の前に来ます。これを使って、

mktime(0,0,0,$parts[1],$parts[2],$parts[0]);
于 2012-05-11T18:49:47.287 に答える
0

はい、mktime()は、time()と同じようにUNIXタイムスタンプを返す必要があります。そうでない場合、投稿したコードは実行しているコードを適切に表していない。

こちらがデモ ですhttp://codepad.org/7RNxk0Oz

于 2012-05-11T18:49:24.620 に答える