2012-05-11 8 views
-2
私は、次のコードを持っている

はどのようにmktime関数からの値のような時間を()を取得する()

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

// output of $value is 2012 

万一time()に類似していないmktime()リターン出力?

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

+1

第5引数は日ですが、あなたはそこに年を渡しています。 $ parts [0]と$ parts [2]を切り替えます。 – ccKep

+0

あなたの問題を示すために最小限のコードスニペットを投稿することは、常に良いアイデアです。しかし、あなたが他のすべてのものを取り除いた後にそれがまだ問題を実証していることを確認してください。 – goat

答えて

5

は)はい、はmktime()は(ジャストインタイムのようなUnixタイムスタンプを返す必要があり、タイムスタンプの数

$value = "2012-05-25"; 
$time = strtotime($value." 00:00:00"); 
//$time = strtotime($value); will do the work as well 
+0

完璧に、ありがとう:) – Eric

+0

これは答えではありません。 –

+0

「00:00:00」を追加する必要はありません。 '$ time = strtotime(" 2012-05-25 ");'は同じことを行います。 – dqhendricks

0

UNIXに時間を表す文字列を変換するためにstrtotime機能を使用しません。投稿したコードは、そうでない場合は、実行しているコードを正しく表していません。

相続人デモ http://codepad.org/7RNxk0Oz

1

mktimeの間違った使用を厥。こちら日は、の前になります。これを使用して、

mktime(0,0,0,$parts[1],$parts[2],$parts[0]); 
関連する問題