我如何将日期("j/n/y")转换为纪元

How can i convert date("j/n/y") to epoch

我有一些使用 date("j/n/y") 格式的数据,即今天的日期是 23/1/15

我试过了

echo strtotime($today);

但这没有给我时间戳 want.How 我可以将 date("j/n/y") 格式的日期转换为纪元吗?

使用DateTime::createFromFormat() to read the date format and then use DateTime::getTimestamp()将其格式化为时间戳。

$date  = DateTime::createFromFormat('j/n/y', '23/1/15');
$epoch = $date->getTimestamp();

我认为您正在寻找 PHP 中的 mktime 函数。它有点像这样:

$timestamp = mktime(0,0,0,0,0,0);

其中,参数依次为:时、分、秒、月、日、年。所以,在你的情况下:

$today = mktime(0, 0, 0, 1, 23, 2015); 
// Would return the timestamp for Jan. 23rd, 2015 at 12:00:00 am (I think)

如果您正在寻找动态 现在 时间戳,您可以在 mktime 的每个参数中使用 date()。例如:

$rightnow = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y"));
// Would return the timestamp for Jan. 23rd, 2015 at 10:57:25 am.

但是,正如 John Conde 所说,它需要先拆分日期才能使用它,因此效率可能不高。

希望对您有所帮助!

只要有另一种方法,这个方法还能再使用 85 年。

$date = date('j/n/y', time());

list($day, $month, $year) = explode("/", $date);

$date = "20" . $year . "-" . $month . "-" . $day;

echo date('m/d/Y', strtotime($date));