2011-12-07 18 views
1

I持って、次のPHPコード:PHPのstrtotimeを返す1

$te='2011-12-07-14-19-30'; 
$tt=strtotime($te); 
echo $te; 
echo $tt; 

それは予想通り、時間のingtegerを出力していない...

任意のアイデアは?

+0

おそらくフォーマットを理解していません。 –

+0

PHP 5.2.11で[私のためにうまく動作](http://ideone.com/dw6gw) – JRL

答えて

3
 
$te='2011-12-07 14:19:30'; //y-m-d h:i:s format 
$tt=strtotime($te); 
echo $te; 
+0

これを試して、働いて、ありがとう。これを読んだ人には、他の返信はより多くの情報へのリンクを提供します。 – David19801

0

これはvalid compound date/time formatで、strtotimeは受け入れません。関数に渡す前に適切に変更してください。

可能な最小限の編集は、すべてのダッシュを削除し、日付と時刻の間に "T"を追加することです。

0

これはvalid time stringではないので、それはダッシュで区切られた数字だけです。 デフォルトの失敗応答である-11の代わりに-1の代わりに返されている可能性があります。

0

"2011-12-07 14:19:30"または "2011-12-07T14:19:30Z"(iso8601に準拠)を試してください。

0
$te='2011-12-07-14-19-30'; 
$arr = explode('-',$te); 
$timestamp = mktime($arr[3], $arr[4], $arr[5], $arr[1], $arr[2], $arr[0]); 

私はそれが動作するはずだと思う:)

+0

なぜdownvote?彼が時刻/日付の形式を変更できない場合、正しいタイムスタンプが生成されます。 – OptimusCrime

0

あなたが合格日付が無効な形式を持っているとしてそれは、FALSEを返します。 docsから

は、成功時はタイムスタンプ、そうでなければFALSEを返します。 PHP 5.1.0より前のバージョンでは、この関数は失敗すると-1を返します。