如何构造一个包含 6 个整数的日期时间对象


How can I construct a datetime object with 6 integers?

我有问题

new Datetime($year."-".$month."-".$day." ".$hour.":".$minute.":"."00")

您将如何用整数构造日期时间?

一种方法是使用DateTimesetDate()setTime()方法。

$date = date_create()->setDate($year, $month, $day)
                     ->setTime($hour, $minute, $second);

您的语法不正确,您在$month之前缺少一个点 (.)。试试这个:

new Datetime($year."-".$month."-".$day." ".$hour.":".$minute)

http://us.php.net/manual/en/function.mktime.php

这几乎就是mktime的用途。 然后,当然,转换为日期时间,假设PHP 5.3+。

这有效

$year =2012 ; $month =4 ;$day = 26 ; $hour = 6 ; $minute =30 ; $sec = 3;
$date = sprintf("%d-%d-%d %d:%d:%d",$year,$month,$day,$hour,$minute,$sec);
$dateTime = new Datetime($date);
var_dump($dateTime);

输出

object(DateTime)[1]
  public 'date' => string '2012-04-26 06:30:03' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'Europe/Berlin' (length=13)