如何在PHP中将日期YYYY-MM-DD转换为纪元

Gia*_*ini 13 php time date epoch

根据标题:如何在PHP中将字符串日期(YYYY-MM-DD)转换为纪元(自01-01-1970以来的秒数)

Nic*_*rde 26

也许这回答了你的问题

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

以下是链接的内容:

有很多选择:

  1. 使用'strtotime':

strtotime将大多数英语日期文本解析为epoch/Unix Time.

echo strtotime("15 November 2012");
// ... or ...
echo strtotime("2012/11/15");
// ... or ...
echo strtotime("+10 days"); // 10 days from now
Run Code Online (Sandbox Code Playgroud)

检查转换是否成功非常重要:

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

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');
Run Code Online (Sandbox Code Playgroud)

日期格式"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); 
Run Code Online (Sandbox Code Playgroud)

  • 单独的链接被认为是一个糟糕的答案(参见[faq#deletion]),因为它本身没有意义,**目标资源在将来不能保证活着**.[最好](http://meta.stackexchange.com/q/8259)在此处包含答案的基本部分,并提供参考链接. (9认同)

Pra*_*dra 9

试试这个 :

$date  = '2013-03-13';

$dt   = new DateTime($date);
echo $dt->getTimestamp();
Run Code Online (Sandbox Code Playgroud)

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


Mic*_*l M 5

使用strtotime()函数:

strtotime('2013-03-13');
Run Code Online (Sandbox Code Playgroud)