2012-04-18 1 views
2

タイムスタンプを取得しようとしていますが、「時:分/月/日/年」が正しく機能していないようです。それはどのような順序にする必要がありますか?strtotimeでフルタイムを書くには?

私の現在の順序の例: 11:59、2012年4月19日

+0

正確に何をしようとしていますか?日付書式文字列がどのように見える必要があるか知りたいですか? – Bojangles

+0

あなたは11:59 am、04/19/2012からの時間をしますか?それとも? –

答えて

3

これを使用たとえば

$date_string = '11:59 am, 04/19/2012'; $dateTime = DateTime::createFromFormat("H:i a, m/d/Y", $date_string); $timestamp = $dateTime->getTimestamp(); echo $timestamp; 

出力:

1334833140 
+1

また、手続き的な方法を使いたい場合は、 'DateTime :: createFromFormat'の代わりに' date_create_from_format'を呼び出すことができます – PadraigD

0

私が正しくあなたの質問を理解していれば、あなたはタイムスタンプから希望のフォーマットを取得するためにdate()に解析する必要がある文字列がありますこれは:

date("H:i a, m/d/Y", $timestamp); 

詳細書式設定文字は、hereにあります。


strtotime()しかし、より強力で汎用性の高いDateTimeクラスがすることができるかもしれない、あなたはタイムスタンプに与えてくれた日付形式を変換しません。

2

時間前に日付を入れてください:

echo strtotime('04/19/2012 11:59 am'); 
2

私はとても順序が

年 - 月 - 日の時間である。この

echo strtotime(date("Y-m-d H:i:s")); 

のようになり信じる:分:秒

また、strtotimeは異なる日付形式を知るのに十分にスマートであると仮定していますあなたの日付形式でうまくいけば、ちょうどそれを最初の部分とそれの後に置く。

1

午前の後に次の文字を削除するようにしてください:これは、タイムスタンプに尋ねたフォーマットされた日付/時刻文字列を変換する方法である

strtotime("11:59 am 04/19/2012") 
関連する問題