略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: DateTimeImmutable::setISODate

2024-05-03

DateTimeImmutable::setISODate

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setISODateSets the ISO date

说明

public DateTimeImmutable::setISODate(int $year, int $week, int $dayOfWeek = 1): DateTimeImmutable

Returns a new DateTimeImmutable object with the date set 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.

dayOfWeek

Offset from the first day of the week.

返回值

Returns a new modified DateTimeImmutable object 或者在失败时返回 false.

范例

示例 #1 DateTimeImmutable::setISODate() example

面向对象风格

<?php
$date 
= new DateTimeImmutable();

$date->setISODate(20082);
echo 
$date->format('Y-m-d') . "\n";

$date->setISODate(200827);
echo 
$date->format('Y-m-d') . "\n";
?>

过程化风格

<?php
$date 
date_create();

date_isodate_set($date20082);
echo 
date_format($date'Y-m-d') . "\n";

date_isodate_set($date200827);
echo 
date_format($date'Y-m-d') . "\n";
?>

以上例程会输出:

2008-01-07
2008-01-13

示例 #2 Values exceeding ranges are added to their parent values

<?php
$date 
= new DateTimeImmutable();

$newDate $date->setISODate(200827);
echo 
$newDate->format('Y-m-d') . "\n";

$newDate $date->setISODate(200828);
echo 
$newDate->format('Y-m-d') . "\n";

$newDate $date->setISODate(2008537);
echo 
$newDate->format('Y-m-d') . "\n";
?>

以上例程会输出:

2008-01-13
2008-01-14
2009-01-04

示例 #3 Finding the month a week is in

<?php
$date 
= new DateTimeImmutable();
$newDate $date->setISODate(200814);
echo 
$newDate->format('n');
?>

以上例程会输出:

3

参见

add a noteadd a note

User Contributed Notes

There are no user contributed notes for this page.

官方地址:https://www.php.net/manual/en/datetimeimmutable.setisodate.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3