2011-08-02 1 views
0

ここでstrtotimeはどうなっていますか?PHP:strtotimeの問題

$today = date('m.d.y H:i', time()); 
echo strtotime($today); 

何も出力されません...どうしていますか?

+2

'm.d.y'はあいまいな日付形式です。 'Y-m-d'を試してみてください。 – Tomalak

答えて

5

strtotimecertain formatsのみを解析することができます。は数字とアルファベットの任意のの組み合わせではありません。 "m.d.y H:i"はフォーマットではありませんstrtotimeは解析できます。たとえば、strptimeなどを使用して手動で解析する必要があります。

0

使用のDateTime :: createFromFormat()日付のソースフォーマットを知っていれば( 'MDYのH:I')あなたの例では

print DateTime::createFromFormat('m.d.y H:i',$date)->getTimestamp() 

マニュアル
DateTime::createFromFormat
DateTime::getTimestamp

0

strtotimeは米国日付と連動します。試してみてください。

$today = date('m/d/y H:i', time()); 
echo strtotime($today); 
0

strtotime()は出力前に日付を整形するための関数です。日付はすでにdate()関数で整形されているようで、2行目の日付を書式設定しようとはしません。

正しいコード

$today = date("Y-m-d-H.i"); 
$datenumber = date('Y-m-d',strtotime($today)); 
$timenumber = date('H.i',strtotime($today)); 

あなたはすべてのこれらの変数をエコーすることができます。

+0

'strtotime'は文字列をタイムスタンプに変換する関数です。 'date'はその逆を行い、タイムスタンプを文字列に変換します。 – deceze

+0

私は今までphpでタイムスタンプを使用しておらず、mysqlデータベースにすべての日付と時刻をVARCHAR文字列として挿入し、TIMEタイムスタンプを持ちません。あなたが正しい。私はそれを知らなかった。私の場合、 'date'は日付書式を指定するためのもので、' strtotime'は出力される日付の書式を変更したり、指定された期間だけ日付を前後に動かしたりするためのものです。 – desbest

+0

'strtotime'を使ったことがあったり、ある時刻に数字を追加したりしたことがあるなら、あなたはタイムスタンプを使いました。 :o) – deceze