©
本文档使用
php.cn手册 发布
(PHP 5 >= 5.2.0, PHP 7)
DateTime::setISODate -- date_isodate_set — Sets the ISO date
面向对象风格
$year
, int $week
[, int $day
= 1
] )过程化风格
$object
, int $year
, int $week
[, int $day
= 1
] )Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.
object
仅过程化风格:由 date_create() 返回的 DateTime 类型的对象。此函数会修改这个对象。
year
Year of the date.
week
Week of the date.
day
Offset from the first day of the week.
返回被修改的 DateTime 对象, 或者在失败时返回 FALSE
.
版本 | 说明 |
---|---|
5.3.0 | 将返回值从 NULL 改为 DateTime 类型。 |
Example #1 DateTime::setISODate() example
面向对象风格
<?php
$date = new DateTime ();
$date -> setISODate ( 2008 , 2 );
echo $date -> format ( 'Y-m-d' ) . "\n" ;
$date -> setISODate ( 2008 , 2 , 7 );
echo $date -> format ( 'Y-m-d' ) . "\n" ;
?>
过程化风格
<?php
$date = date_create ();
date_isodate_set ( $date , 2008 , 2 );
echo date_format ( $date , 'Y-m-d' ) . "\n" ;
date_isodate_set ( $date , 2008 , 2 , 7 );
echo date_format ( $date , 'Y-m-d' ) . "\n" ;
?>
以上例程会输出:
2008-01-07 2008-01-13
Example #2 Values exceeding ranges are added to their parent values
<?php
$date = new DateTime ();
$date -> setISODate ( 2008 , 2 , 7 );
echo $date -> format ( 'Y-m-d' ) . "\n" ;
$date -> setISODate ( 2008 , 2 , 8 );
echo $date -> format ( 'Y-m-d' ) . "\n" ;
$date -> setISODate ( 2008 , 53 , 7 );
echo $date -> format ( 'Y-m-d' ) . "\n" ;
?>
以上例程会输出:
2008-01-13 2008-01-14 2009-01-04
Example #3 Finding the month a week is in
<?php
$date = new DateTime ();
$date -> setISODate ( 2008 , 14 );
echo $date -> format ( 'n' );
?>
以上例程会输出:
3