関数・クラス解説

DateTime::__construct

date_create

version:PHP 5 >= 5.2.0, PHP 7 (公式)

新しい DateTime オブジェクトを返す

公式リファレンス

書式

date_create ([ string $datetime = "now" [, DateTimeZone $timezone = NULL ]] ) : DateTime

説明

オブジェクト指向型

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

手続き型

新しい DateTime オブジェクトを返します。

パラメータ

datetime
日付/時刻 文字列。有効な書式については 日付と時刻の書式 で説明しています。 ここに "now" を指定して $timezone パラメータを使うと、現在時刻を取得できます。
timezone
$datetime のタイムゾーンを表す DateTimeZone オブジェクト。 $timezone を省略した場合は、 現在のタイムゾーンを使います。
注意: $datetime パラメータが UNIX タイムスタンプ (@946684800 など) であったりタイムゾーンつきで指定した場合 (2010-01-28T15:00:00+02:00 など) は、 $timezone パラメータや現在のタイムゾーンは無視されます。

返値

新しい DateTime のインスタンスを返します。 手続き型 の場合は、失敗したときに FALSE を返します。

エラー

エラーがあった場合は Exception を発生させます。

更新履歴

バージョン 説明
7.1.0 マイクロ秒が '00000' ではなく、実際の値で埋められるようになりました。

サンプル

例1 DateTime::__construct() の例

オブジェクト指向型

try {     $date = new DateTime('2000-01-01'); } catch (Exception $e) {     echo $e->getMessage();     exit(1); } echo $date->format('Y-m-d');

手続き型

$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');

上の例の出力は以下となります。

2000-01-01

例2 DateTime::__construct() の複雑な例

// そのコンピュータのタイムゾーンでの日時の指定 $date = new DateTime('2000-01-01'); echo $date->format('Y-m-d H:i:sP') . "\n"; // 指定したタイムゾーンでの日時の指定 $date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru')); echo $date->format('Y-m-d H:i:sP') . "\n"; // そのコンピュータのタイムゾーンでの現在日時 $date = new DateTime(); echo $date->format('Y-m-d H:i:sP') . "\n"; // 指定したタイムゾーンでの現在日時 $date = new DateTime(null, new DateTimeZone('Pacific/Nauru')); echo $date->format('Y-m-d H:i:sP') . "\n"; // UNIX タイムスタンプの使用例。結果のタイムゾーンは UTC となることに注意しましょう。 $date = new DateTime('@946684800'); echo $date->format('Y-m-d H:i:sP') . "\n"; // 存在しない値は繰り上がります $date = new DateTime('2000-02-30'); echo $date->format('Y-m-d H:i:sP') . "\n";

上の例の出力は、たとえば以下のようになります。

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

参考

  • DateTime::createFromFormat() - 指定した書式で時刻文字列をパースする
  • DateTimeZone::__construct() - 新しい DateTimeZone オブジェクトを作成する
  • 日付と時刻の書式
  • date.timezone ini 設定
  • date_default_timezone_set() - スクリプト中の日付/時刻関数で使用されるデフォルトタイムゾーンを設定する
  • DateTime::getLastErrors() - 警告およびエラーを返す
  • checkdate() - グレゴリオ暦の日付/時刻の妥当性を確認します
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール