Search
  1. DateTimeクラス〔日付と時刻を表す〕
  2. 定義済み定数
  3. DateTime::add ※PHP v5.3.0+〔年月日時分秒の値を DateTime オブジェクトに加える〕
  4. DateTime::__construct〔新しい DateTime オブジェクトを返す〕
  5. DateTime::createFromFormat ※PHP v5.3.0+〔指定した書式でフォーマットした新しい DateTime オブジェクトを返す〕
  6. DateTime::diff ※PHP v5.3.0+〔ふたつの DateTime オブジェクトの差を返す〕
  7. DateTime::format〔指定した書式でフォーマットした日付を返す〕
  8. DateTime::getLastErrors ※PHP v5.3.0+〔警告およびエラーを返す〕
  9. DateTime::getOffset〔夏時間のオフセットを返す〕
  10. DateTime::getTimestamp ※PHP v5.3.0+〔Unix タイムスタンプを取得する〕
  11. DateTime::getTimezone〔指定した DateTime に関連するタイムゾーンを返す〕
  12. DateTime::modify〔タイムスタンプを変更する〕
  13. DateTime::__set_state〔__set_state ハンドラ〕
  14. DateTime::setDate〔日付を設定する〕
  15. DateTime::setISODate〔ISO 日付を設定する〕
  16. DateTime::setTime〔時刻を設定する〕
  17. DateTime::setTimestamp ※PHP v5.3.0+〔Unix タイムスタンプを用いて日付と時刻を設定する〕
  18. DateTime::setTimezone〔DateTime オブジェクトのタイムゾーンを設定する〕
  19. DateTime::sub ※PHP v5.3.0+〔年月日時分秒の値を DateTime オブジェクトから引く〕
  20. DateTime::__wakeup〔__wakeup ハンドラ〕

DateTimeクラス
日付と時刻を表す

unknown

DateTime {
  /* 定数 */
  const string DateTime::ATOM =Y-m-d\TH:i:sP;
  const string DateTime::COOKIE=l, d-M-y H:i:s T;
  const string DateTime::ISO8601=Y-m-d\TH:i:sO;
  const string DateTime::RFC822=D, d M y H:i:s O;
  const string DateTime::RFC850=l, d-M-y H:i:s T;
  const string DateTime::RFC1036=D, d M y H:i:s O;
  const string DateTime::RFC1123=D, d M Y H:i:s O;
  const string DateTime::RFC2822=D, d M Y H:i:s O;
  const string DateTime::RFC3339=Y-m-d\TH:i:sP;
  const string DateTime::RSS=D, d M Y H:i:s O;
  const string DateTime::W3C=Y-m-d\TH:i:sP;

  /* メソッド */
  public DateTime add ( string $interval )
  __construct ( [ string $time="now"[, DateTimeZone $タイムゾーン=NULL ]] )
  public static DateTime createFromFormat ( string $フォーマット, string $time[, DateTimeZone $タイムゾーン ] )
  public DateInterval diff ( DateTime $比較する日付[, bool $absolute ] )
  public string format ( string $フォーマット )
  public static array getLastErrors ( void )
  public int getOffset ( void )
  public int getTimestamp ( void )
  public DateTimeZone getTimezone ( void )
  public DateTime modify ( string $modify )
  public static DateTime __set_state ( array $初期化配列 )
  public DateTime setDate ( int $年, int $月, int $日 )
  public DateTime setISODate ( int $年, int $週[, int $日 ] )
  public DateTime setTime ( int $時, int $分[, int $秒 ] )
  public DateTime setTimestamp ( int $Unixタイムスタンプ )
  public DateTime setTimezone ( DateTimeZone $タイムゾーン )
  public DateTime sub ( DateInterval $interval )
  public DateTime __wakeup ( void )
}

定義済み定数

unknown

DateTimeノード型

DateTime::ATOM
DATE_ATOM
Atom (例: 2005-08-15T15:52:01+00:00)
HTTP Cookies (例: Monday, 15-Aug-05 15:52:01 UTC)
DateTime::ISO8601
DATE_ISO8601
ISO-8601 (例: 2005-08-15T15:52:01+0000)
DateTime::RFC822
DATE_RFC822
RFC 822 (例: Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC850
DATE_RFC850
RFC 850 (例: Monday, 15-Aug-05 15:52:01 UTC)
DateTime::RFC1036
DATE_RFC1036
RFC 1036 (例: Mon, 15 Aug 05 15:52:01 +0000)
DateTime::RFC1123
DATE_RFC1123
RFC 1123 (例: Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::RFC2822
DATE_RFC2822
RFC 2822 (Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::RFC3339
DATE_RFC3339
DATE_ATOM と同じ (PHP 5.1.3 以降)
DateTime::RSS
DATE_RSS
RSS (Mon, 15 Aug 2005 15:52:01 +0000)
DateTime::W3C
DATE_W3C
World Wide Web Consortium (例: 2005-08-15T15:52:01+00:00)

DateTime::add ※PHP v5.3.0+
年月日時分秒の値を DateTime オブジェクトに加える

unknown

public DateTime DateTime::add ( string $interval )
DateTime date_add ( DateTime $object, DateInterval $interval )

指定したDateIntervalオブジェクトを、指定したDateTimeオブジェクトに加えます。 返り値として、変更したDateTimeオブジェクトを返します。

objectには、date_create()が返すDateTimeオブジェクトを指定します。

intervalには、加えたい量を指定します。 日付の場合は「P3D」、「P3M」、「P3Y」あるいは、それらを組み合わせた「P2M5D」(Y=年、M=月、D=日)のような形式を使用します(年月日順で指定する必要があり)。 時刻の場合は「T3H」、「T3M」、「T3S」あるいは、それらを組み合わせた「T5H20M」(H=時、M=分、S=秒)のような形式を使用します。 日付と時刻を指定する場合は、「P5D2M4YT5H20M」のようにします。 文字(PやT以外)の前の数字は、任意の量を指定することができます。

<?
date_default_timezone_set('Asia/Tokyo');

$date = new DateTime("18-July-2008 16:30:30");
echo $date->format("d-m-Y H:i:s").'<br>';

date_add($date, new DateInterval("P5D"));
echo '<br>'.$date->format("d-m-Y").' : 5 Days';

date_add($date, new DateInterval("P5M"));
echo '<br>'.$date->format("d-m-Y").' : 5 Months';

date_add($date, new DateInterval("P5Y"));
echo '<br>'.$date->format("d-m-Y").' : 5 Years';

date_add($date, new DateInterval("P5Y5M5D"));
echo '<br>'.$date->format("d-m-Y").' : 5 Days, 5 Months, 5 Years';

date_add($date, new DateInterval("P5YT5H"));
echo '<br>'.$date->format("d-m-Y H:i:s").' : 5 Years, 5 Hours';
?>

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

unknown

DateTime::__construct ( [ string $time[, DateTimeZone $タイムゾーン ]] )

新しいDateTimeオブジェクトを返します。 エラーがあった場合は、Exceptionが発生します。

オプションの第1引数timeには、strtotime()が理解できる形式の文字列を指定します。 省略した場合はデフォルトの「now」が適用されます。

<?
date_default_timezone_set('Asia/Tokyo');

$datetime = new DateTime('2008-08-03 14:52:10');
echo $datetime->format(DATE_ATOM);
// 2008-08-03T14:52:10+09:00
?>

DateTime::createFromFormat ※PHP v5.3.0+
指定した書式でフォーマットした新しい DateTime オブジェクトを返す

unknown

public static DateTime DateTime::createFromFormat ( string $フォーマット, string $time[, DateTimeZone $タイムゾーン ] )

フォーマットに指定した書式で、新しいDateTimeオブジェクトを返します。

第1引数フォーマットには、date()が理解できる書式を指定します。
第2引数timeには時刻を表す文字列を指定します。

DateTime::diff ※PHP v5.3.0+
ふたつの DateTime オブジェクトの差を返す

unknown

public DateInterval DateTime::diff ( DateTime $比較する日付[, bool $absolute ] )

2つのDateTimeオブジェクトの差を返します。

オプションの第2引数absoluteには、差の絶対値を返すか否かを真偽値で指定します。 省略した場合はデフォルトのFALSE(差の絶対値を返さない)が適用されます。

DateTime::format
指定した書式でフォーマットした日付を返す

unknown

public string DateTime::format ( string $フォーマット )
string date_format ( DateTime $object, string $フォーマット )

フォーマットに指定した書式で、日付を返します。 失敗した場合はFALSEを返します。

objectには、date_create()が返すDateTimeオブジェクトを指定します。
フォーマットには、date()が理解できる書式を指定します。

<?
date_default_timezone_set('Asia/Tokyo');

# 手続き型での日付と時刻の表示
$datetime date_create('2008-08-03 14:52:10');
echo date_format($datetime'jS, F Y') . "\n";
echo date_format($datetimeDATE_ATOM);
/*
3rd, August 2008
2008-08-03T14:52:10+09:00
*/

# オブジェクト指向型での日付と時刻の表示
$datetime = new DateTime('2008-08-03 14:52:10');
echo $datetime->format('jS, F Y') . "\n";
echo $datetime->format(DATE_ATOM);
/*
3rd, August 2008
2008-08-03T14:52:10+09:00
*/
?>

DateTime::getLastErrors ※PHP v5.3.0+
警告およびエラーを返す

unknown

public static array DateTime::getLastErrors ( void )

日付/時刻文字列のパース字に見つかった警告やエラーに関する情報を含む配列を返します。

<?
date_default_timezone_set('Asia/Tokyo');

$date date_create('asdfasdf');
print_r(DateTime::getLastErrors());
/*
Array
(
    [warning_count] => 1
    [warnings] => Array
        (
            [6] => Double timezone specification
        )

    [error_count] => 1
    [errors] => Array
        (
            [0] => The timezone could not be found in the database
        )

)
*/
?>

DateTime::getOffset
夏時間のオフセットを返す

unknown

public int DateTime::getOffset ( void )
int date_offset_get ( DateTime $object )

夏時間のオフセット秒数を返します。 失敗した場合はFALSEを返します。

objectには、date_create()が返すDateTimeオブジェクトを指定します。

<?
date_default_timezone_set('Europe/London');

$winter = new DateTime('2008-12-25 14:25:41');
$summer = new DateTime('2008-07-14 14:25:41');

echo $winter->getOffset(); // Winter offset: 0
echo $summer->getOffset(); // Summer offset: 3600 = 1 hour
?>

DateTime::getTimestamp ※PHP v5.3.0+
Unix タイムスタンプを取得する

unknown

public int DateTime::getTimestamp ( void )

その日付を表すUnixタイムスタンプを返します。

DateTime::getTimezone
指定した DateTime に関連するタイムゾーンを返す

unknown

public DateTimeZone DateTime::getTimezone ( void )
DateTimeZone date_timezone_get ( DateTime $object )

指定したDateTimeに関連するタイムゾーンを返します。 失敗した場合はFALSEを返します。

objectには、date_create()が返すDateTimeオブジェクトを指定します。

<?
date_default_timezone_set('Europe/London');

#  DateTimeZone オブジェクトの設定と取得
$datetime = new DateTime('2008-08-03 12:35:23');
echo $datetime->getTimezone()->getName() . "\n";
/*
Europe/London
*/

$datetime = new DateTime('2008-08-03 12:35:23');
$la_time = new DateTimeZone('America/Los_Angeles');
$datetime->setTimezone($la_time);
echo $datetime->getTimezone()->getName();
/*
America/Los_Angeles
*/
?>

DateTime::modify
タイムスタンプを変更する

unknown

public DateTime DateTime::modify ( string $modify )
DateTime date_modify ( DateTime $object, string $modify )

strtotime()形式で加算または減算することによって、DateTimeオブジェクトのタイムスタンプを変更して返します。

objectには、date_create()が返すDateTimeオブジェクトを指定します。
modifyには、strtotime()が理解できる書式の文字列を指定します。

PHP v5.3.0から返り値がNULLからDateTimeに変更されました。

<?php
date_default_timezone_set('Asia/Tokyo');

$date = new DateTime("2006-12-12");
$date->modify("+1 day");
echo $date->format("Y-m-d"); // 2006-12-13
?>

DateTime::__set_state
__set_state ハンドラ

unknown

public static DateTime DateTime::__set_state ( array $初期化配列 )

__set_stateを処理し、新しいDateTimeオブジェクトのインスタンスを返します。

DateTime::setDate
日付を設定する

unknown

public DateTime DateTime::setDate ( int $年, int $月, int $日 )
DateTime date_date_set ( DateTime $object, int $年, int $月, int $日 )

DateTimeオブジェクトの現在の日付をリセットし、別の日付にして返します

objectには、date_create()が返すDateTimeオブジェクトを指定します。
には、その日付の年を指定します。
には、その日付の月を指定します。
には、その日付の日を指定します。

PHP v5.3.0から返り値がNULLからDateTimeに変更されました。

<?
date_default_timezone_set('Asia/Tokyo');

# 手続き型の使用例
$datetime date_create('2008-08-03 14:52:10');
date_date_set($datetime20081012);
var_dumpdate_format($datetimeDATE_RFC2822)); // Sun, 12 Oct 2008 14:52:10 +0900

# オブジェクト指向の使用例
$datetime = new DateTime('2008-08-03 14:52:10');
$datetime->setDate(20081012);
echo $datetime->format(DATE_RFC2822); // Sun, 12 Oct 2008 14:52:10 +0900
?>

DateTime::setISODate
ISO 日付を設定する

unknown

public DateTime DateTime::setISODate ( int $年, int $週[, int $日 ] )
DateTime date_isodate_set ( DateTime $object, int $週[, int $日 ] )

ISO 8601標準形式(週と日のオフセット)で日付を設定して返します。

objectには、date_create()が返すDateTimeオブジェクトを指定します。
には、その日付の年を指定します。
には、その日付の週を指定します。
には、の最初の日からのオフセットを指定します。

PHP v5.3.0から返り値がNULLからDateTimeに変更されました。

<?
date_default_timezone_set('Europe/London');

###### 週番号と日オフセットからの日付の取得
$datetime = new DateTime();

// Offset from start of week 2 (7) = 5
$datetime->setISODate(200825); // Day 5 of week 2 of 2008 is the 11th of January. 

// Offset from start of week 2 (7) = 10
$datetime->setISODate(2008210); // Day 10 of week 2 of 2008 is the 16th of January.

###### ある週が属する月の取得
$datetime date_create();
date_isodate_set($datetime20086); // Week 6 of 2008 is in February.
?>

DateTime::setTime
時刻を設定する

unknown

public DateTime DateTime::setTime ( int $時, int $分[, int $秒 ] )
DateTime date_time_set ( DateTime $object, int $時, int $分[, int $秒 ] )

DateTimeオブジェクトの現在時刻を別の時刻にリセットして返します。

objectには、date_create()が返すDateTimeオブジェクトを指定します。
には、その時刻の時を指定します。
には、その時刻の分を指定します。
には、その時刻の秒を指定します。

PHP v5.3.0から返り値がNULLからDateTimeに変更されました。

<?
date_default_timezone_set('Asia/Tokyo');

###### DateTime オブジェクトの時刻の変更
$datetime = new DateTime('2008-08-03 12:35:23');
echo $datetime->format('Y-m-d H:i:s') . "\n"// 2008-08-03 12:35:23

$datetime->setTime(145524);
echo $datetime->format('Y-m-d H:i:s') . "\n";
// 2008-08-03 14:55:24

// Warning: Does not increment the hour!
// This is because the hour has been set (14) - see date_modify()
$datetime->setTime($datetime->format('H'), $datetime->format('n') + 6);
echo $datetime->format('Y-m-d H:i:s') . "\n";
// 2008-08-03 14:14:00

// *Does* increment the day, because the day has not been set
$datetime->setTime($datetime->format('H') + 12$datetime->format('n'));
echo $datetime->format('Y-m-d H:i:s') . "\n";
// 2008-08-04 02:08:00
?>

DateTime::setTimestamp ※PHP v5.3.0+
Unix タイムスタンプを用いて日付と時刻を設定する

unknown

public DateTime DateTime::setTimestamp ( int $Unixタイムスタンプ )

Unixタイムスタンプを用いて日付と時刻を設定します。 返り値として変更後のDateTimeオブジェクトを返します。

DateTime::setTimezone
DateTime オブジェクトのタイムゾーンを設定する

unknown

public DateTime DateTime::setTimezone ( DateTimeZone $タイムゾーン )
DateTime date_timezone_set ( DateTime $object, DateTimeZone $タイムゾーン )

DateTimeオブジェクトwのタイムゾーンを設定します。 返り値として変更後のDateTimeオブジェクトを返します。

objectには、date_create()が返すDateTimeオブジェクトを指定します。

PHP v5.3.0から返り値がNULLからDateTimeに変更されました。

<?
date_default_timezone_set('Europe/London');

# DateTimeZone オブジェクトの設定と取得

$datetime = new DateTime('2008-08-03 12:35:23');
echo $datetime->getTimezone()->getName() . "\n";
// Europe/London

$datetime = new DateTime('2008-08-03 12:35:23');
$la_time = new DateTimeZone('America/Los_Angeles');
$datetime->setTimezone($la_time);
echo $datetime->getTimezone()->getName();
// America/Los_Angeles
?>

DateTime::sub ※PHP v5.3.0+
年月日時分秒の値を DateTime オブジェクトから引く

unknown

public DateTime DateTime::sub ( DateInterval $interval )
DateTime date_sub ( DateTime $object, DateInterval $interval )

intervalに指定したぱらIntervalオブジェクトを、objectに指定したDateTimeオブジェクトから引きます。 返り値として、変更したDateTimeオブジェクトを返します。

objectには、date_create()が返すDateTimeオブジェクトを指定します。

intervalには、引きたい量を指定します。 日付の場合は「P3D」、「P3M」、「P3Y」あるいは、それらを組み合わせた「P2M5D」(Y=年、M=月、D=日)のような形式を使用します(年月日順で指定する必要があり)。 時刻の場合は「T3H」、「T3M」、「T3S」あるいは、それらを組み合わせた「T5H20M」(H=時、M=分、S=秒)のような形式を使用します。 日付と時刻を指定する場合は、「P5D2M4YT5H20M」のようにします。 文字(PやT以外)の前の数字は、任意の量を指定することができます。

<?
date_default_timezone_set('Europe/London');

$date = new DateTime("18-July-2008 16:30:30");
echo $date->format("d-m-Y H:i:s").'<br>'// 18-07-2008 16:30:30

date_sub($date, new DateInterval("P5D"));
echo '<br>'.$date->format("d-m-Y").' : 5 Days';

date_sub($date, new DateInterval("P5M"));
echo '<br>'.$date->format("d-m-Y").' : 5 Months';

date_sub($date, new DateInterval("P5Y"));
echo '<br>'.$date->format("d-m-Y").' : 5 Years';

date_sub($date, new DateInterval("P5Y5M5D"));
echo '<br>'.$date->format("d-m-Y").' : 5 Days, 5 Months, 5 Years';

date_sub($date, new DateInterval("P5YT5H"));
echo '<br>'.$date->format("d-m-Y H:i:s").' : 5 Years, 5 Hours';
?>

DateTime::__wakeup
__wakeup ハンドラ

unknown

public DateTime DateTime::__wakeup ( void )

__wakeupを処理し、DateTime オブジェクトを初期化します。

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop

polarized women