首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DateTime::__construct

(PHP 5 >= 5.2.0, PHP 7)

DateTime :: __ construct - date_create - 返回新的DateTime对象

描述

面向对象的风格

public DateTime::__construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

程序风格

代码语言:javascript
复制
DateTime date_create ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] )

返回新的DateTime对象。

参数

time

日期/时间字符串。有效格式在日期和时间格式中进行说明。

在此处输入“now”以获取使用$timezone参数时的当前时间。

timezone

表示时区的DateTimeZone对象$time

如果$timezone省略,则将使用当前时区。

注意$timezone$time参数是UNIX时间戳(例如@ 946684800)或指定时区(例如2010-01-28T15:00:00 + 02:00)时,参数和当前时区将被忽略。

返回值

返回一个新的DateTime实例。程序风格FALSE在失败时返回。

错误/异常

发生错误时发出异常。

更新日志

描述

5.3.0

如果时间包含无效的日期/时间格式,则现在抛出异常。以前发生了一个错误。

7.1

从现在起微秒充满实际价值。不与'00000'。

例子

示例 #1 DateTime::__construct() example

面向对象的风格

代码语言:javascript
复制
<?php
try {
    $date = new DateTime('2000-01-01');
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format('Y-m-d');
?>

程序风格

代码语言:javascript
复制
<?php
$date = date_create('2000-01-01');
if (!$date) {
    $e = date_get_last_errors();
    foreach ($e['errors'] as $error) {
        echo "$error\n";
    }
    exit(1);
}

echo date_format($date, 'Y-m-d');
?>

上面的例子会输出:

代码语言:javascript
复制
2000-01-01

示例 #2 Intricacies of DateTime::__construct()

代码语言:javascript
复制
<?php
// Specified date/time in your computer's time zone.
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Specified date/time in the specified time zone.
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Current date/time in your computer's time zone.
$date = new DateTime();
echo $date->format('Y-m-d H:i:sP') . "\n";

// Current date/time in the specified time zone.
$date = new DateTime(null, new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Using a UNIX timestamp.  Notice the result is in the UTC time zone.
$date = new DateTime('@946684800');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Non-existent values roll over.
$date = new DateTime('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

上面的例子会输出类似于:

代码语言:javascript
复制
2000-01-01 00:00:00-05:00
2000-01-01 00:00:00+12:00
2010-04-24 10:24:16-04:00
2010-04-25 02:24:16+12:00
2000-01-01 00:00:00+00:00
2000-03-01 00:00:00-05:00

扫码关注腾讯云开发者

领取腾讯云代金券