18

タイトルごと:PHPで文字列の日付(YYYY-MM-DD)をエポック(1970年1月1日からの秒数)に変換する方法

4

4 に答える 4

31

おそらくこれはあなたの質問に答えます

http://www.epochconverter.com/programming/functions-php.php

リンクの内容は次のとおりです。

多くのオプションがあります:

  1. 「strtotime」の使用:

strtotime は、ほとんどの英語の日付テキストをエポック/Unix 時間に解析します。

echo strtotime("15 November 2012");
// ... or ...
echo strtotime("2012/11/15");
// ... or ...
echo strtotime("+10 days"); // 10 days from now

変換が成功したかどうかを確認することが重要です。

// PHP 5.1.0 or higher, earlier versions check: strtotime($string)) === -1
if ((strtotime("this is no date")) === false) {
   echo 'failed';
 }

2. DateTime クラスの使用:

PHP 5 の DateTime クラスの方が使いやすいです。

// object oriented
$date = new DateTime('01/15/2010'); // format: MM/DD/YYYY
echo $date->format('U'); 

// or procedural
$date = date_create('01/15/2010'); 
echo date_format($date, 'U');

日付形式「U」は、日付を UNIX タイムスタンプに変換します。

  1. 「mktime」の使用:

このバージョンは面倒ですが、どの PHP バージョンでも動作します。

// PHP 5.1+ 
date_default_timezone_set('UTC');  // optional 
mktime ( $hour, $minute, $second, $month, $day, $year );

// before PHP 5.1
mktime ( $hour, $minute, $second, $month, $day, $year, $is_dst );
// $is_dst : 1 = daylight savings time (DST), 0 = no DST ,  -1 (default) = auto

// example: generate epoch for Jan 1, 2000 (all PHP versions)
echo mktime(0, 0, 0, 1, 1, 2000); 
于 2013-03-13T08:52:07.800 に答える
10

これを試して :

$date  = '2013-03-13';

$dt   = new DateTime($date);
echo $dt->getTimestamp();

参照: http://www.php.net/manual/en/datetime.gettimestamp.php

于 2013-03-13T08:52:57.687 に答える
2

これを使用するstrtotime()と、1970 年 1 月 1 日から始まる Unix タイム スタンプが提供されます。

于 2013-03-13T08:52:30.373 に答える
2

strtotime()関数を使用します。

strtotime('2013-03-13');
于 2013-03-13T08:53:19.980 に答える