2011-09-12 5 views
3

UTCのタイムスタンプ(整数)をとり、PHPの年、月、日だけを解析する最良の方法は何ですか?ありがとうPHPのUTCタイムスタンプを年、月、および日付のみ解析しますか?

+0

UTCタイムスタンプでは "Unix timestamp"を意味しますか? – NullUserException

+0

UNIXのタイムスタンプを参照している場合は、date関数(http://de.php.net/manual/en/function.date.php)を使用して詳細を収集できます。書式設定されたタイムスタンプを解析する場合は、例を挙げてください。 – Bjoern

+0

例:strtotime( "2011-9-12 05:48:00")は1315806480と評価されます...この整数を取り、strtotime( "2011-9-12")または1315785600 – Tyrick

答えて

3

PHP date()関数を使用してください。

日付()関数は、あなたのタイムスタンプを取り、人間が読めるでそれを表しています。

<?php 
$timestamp = strtotime("2011-9-12 05:48:00"); 
$year = date('Y', $timestamp); 
$month = date('m', $timestamp); 
$day = date('d', $timestamp); 
$newTimestamp = mktime(0, 0, 0, $month, $day, $year); 
+0

私は何をしようとしているのですか。それはUNIXのタイムスタンプの観点から値を返しません。また、それらを分離する必要もありません。私は私のポストにコメントで与えた例。ありがとう – Tyrick

+0

ええ、私はmktimeの代わりにstrtotimeを使用していることに気付かなかった... – Ofir

+1

ああwow ..私もそのコードの最後の行を読んでいない..右。私はそれを行う方法だと思います。ありがとう! – Tyrick

1

DateTimeクラスは、編集作業

<?php 
// for PHP5.2+ though 
var_dump(date_create('2011-9-12 05:48:00')->setTime(0, 0, 0)->format('U')); 
// if input is in integer already 
$input = 1315806480; 
var_dump(date_create("@{$input}")->setTime(0, 0, 0)->format('U')); 
+0

ブリットはUnixのタイムスタンプを扱っているので、おそらく '@ 1315806480'を' 2011-9-12 ... 'の代わりにしたいでしょう。 – salathe

+0

笑、私は入力が何とかISO日付時刻形式に似ていると思った – Jeffrey04

+0

私はあなたが質問/コメントを読んでいないと思います。 – salathe

-1
<?php 
$time = strtotime(date('Y-m-d', *timestamp*)); 
?> 

この種のかなり良いです年、月、および日(つまり、 "2014-07-25")の文字列を入力し、時、分、秒を省略します。

strtotime()関数は、人間が読める文字列を取得し、それをタイムスタンプに戻し、その日の00:00に時間を有効にします。

+1

それを記述してください.. – Shivaay

関連する問題