php日期到时间戳

时间:2011-11-25 22:38:11

标签: php date timestamp

  

可能重复:
  How to convert date to timestamp in PHP?

我想传输一些date to timestamp,日期格式为%day %month %time。和25 nov 07:44一样,我尝试了下面的方法,但两个日期不同。需要帮助,谢谢。

<?php
$date = '25 nov 07:44';
$time = explode(" ",$date);
$minute = explode(":",$time[2]);
$timestamp = mktime(''.$minute[0].' '.$minute[1].' 00 '.$time[1].' '.$time[0].' 2011')."<br />";// mktime(%hour, %minute, %second, %month, %day, %year);
echo $timestamp; //1322202671
echo date("Y-m-j H:i:s", $timestamp); //2011-11-25 07:31:11
?>

2 个答案:

答案 0 :(得分:5)

一些问题:

  • 您正在提供mktime字符串而不是逗号分隔列表
  • $time[1]是一个字符串,mktime需要一个月的数字

您可能想尝试使用strtotime或以其他方式添加转换表,以便将月份字符串转换为数字。

答案 1 :(得分:1)

在最新版本的php(5.3+)中,您可以使用DateTime::createFromFormat()

尝试类似

的内容
$format = 'd M H:i';
$date = DateTime::createFromFormat($format, $timestamp);
echo $date->format('Y-m-j H:i:s'); 

就个人而言,我发现这种基于类的方法更清洁一些。

PHP文档

DateTime::createFromFormat

date() for info on format strings