ここでstrtotimeはどうなっていますか?PHP:strtotimeの問題
$today = date('m.d.y H:i', time());
echo strtotime($today);
何も出力されません...どうしていますか?
ここでstrtotimeはどうなっていますか?PHP:strtotimeの問題
$today = date('m.d.y H:i', time());
echo strtotime($today);
何も出力されません...どうしていますか?
strtotime
certain formatsのみを解析することができます。は数字とアルファベットの任意のの組み合わせではありません。 "m.d.y H:i"はフォーマットではありませんstrtotime
は解析できます。たとえば、strptime
などを使用して手動で解析する必要があります。
使用のDateTime :: createFromFormat()日付のソースフォーマットを知っていれば( 'MDYのH:I')あなたの例では
print DateTime::createFromFormat('m.d.y H:i',$date)->getTimestamp()
strtotime
は米国日付と連動します。試してみてください。
$today = date('m/d/y H:i', time());
echo strtotime($today);
strtotime()は出力前に日付を整形するための関数です。日付はすでにdate()関数で整形されているようで、2行目の日付を書式設定しようとはしません。
正しいコード
$today = date("Y-m-d-H.i");
$datenumber = date('Y-m-d',strtotime($today));
$timenumber = date('H.i',strtotime($today));
あなたはすべてのこれらの変数をエコーすることができます。
'strtotime'は文字列をタイムスタンプに変換する関数です。 'date'はその逆を行い、タイムスタンプを文字列に変換します。 – deceze
私は今までphpでタイムスタンプを使用しておらず、mysqlデータベースにすべての日付と時刻をVARCHAR文字列として挿入し、TIMEタイムスタンプを持ちません。あなたが正しい。私はそれを知らなかった。私の場合、 'date'は日付書式を指定するためのもので、' strtotime'は出力される日付の書式を変更したり、指定された期間だけ日付を前後に動かしたりするためのものです。 – desbest
'strtotime'を使ったことがあったり、ある時刻に数字を追加したりしたことがあるなら、あなたはタイムスタンプを使いました。 :o) – deceze
'm.d.y'はあいまいな日付形式です。 'Y-m-d'を試してみてください。 – Tomalak