将DateTime转换为String PHP

时间:2012-05-13 03:15:22

标签: php datetime

我已经研究了很多关于如何将PHP DateTime对象转换为String的网站。我总是看到“String to DateTime”而不是“DateTime to String”

可以回显PHP DateTime,但我想用PHP字符串函数处理我的DateTime。

我的问题是如何将PHP dateTime Object变为从这种代码开始的字符串:

$dts = new DateTime(); //this returns the current date time
echo strlen($dts);

6 个答案:

答案 0 :(得分:350)

您可以使用DateTime类的format方法:

$date = new DateTime('2000-01-01');
$result = $date->format('Y-m-d H:i:s');

如果format由于某种原因失败,它将返回FALSE。在某些应用程序中,处理失败的案例可能是有意义的:

if ($result) {
  echo $result;
} else { // format failed
  echo "Unknown Time";
}

答案 1 :(得分:14)

我找到的最简单的方法是:

$date   = new DateTime(); //this returns the current date time
$result = $date->format('Y-m-d-H-i-s');
echo $result . "<br>";
$krr    = explode('-', $result);
$result = implode("", $krr);
echo $result;

我希望它有所帮助。

答案 2 :(得分:12)

echo date_format($date,"Y/m/d H:i:s");

答案 3 :(得分:12)

date_d.php中有一些预定义格式可用于format,如:

define ('DATE_ATOM', "Y-m-d\TH:i:sP");
define ('DATE_COOKIE', "l, d-M-y H:i:s T");
define ('DATE_ISO8601', "Y-m-d\TH:i:sO");
define ('DATE_RFC822', "D, d M y H:i:s O");
define ('DATE_RFC850', "l, d-M-y H:i:s T");
define ('DATE_RFC1036', "D, d M y H:i:s O");
define ('DATE_RFC1123', "D, d M Y H:i:s O");
define ('DATE_RFC2822', "D, d M Y H:i:s O");
define ('DATE_RFC3339', "Y-m-d\TH:i:sP");
define ('DATE_RSS', "D, d M Y H:i:s O");
define ('DATE_W3C', "Y-m-d\TH:i:sP");

像这样使用:

$date = new \DateTime();
$string = $date->format(DATE_RFC2822);

答案 4 :(得分:1)

使用列表的方式较短。你可以用每个日期组件做你想做的事。

list($day,$month,$year,$hour,$min,$sec) = explode("/",date('d/m/Y/h/i/s'));
echo $month.'/'.$day.'/'.$year.' '.$hour.':'.$min.':'.$sec;

答案 5 :(得分:0)

它为我工作

$start_time   = date_create_from_format('Y-m-d H:i:s', $start_time);
$current_date = new DateTime();
$diff         = $start_time->diff($current_date);
$aa           = (string)$diff->format('%R%a');
echo gettype($aa);