betterCode() PHP 2025

DateTimeImmutable::setISODate

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

DateTimeImmutable::setISODateSets the ISO date

Descrizione

#[\NoDiscard]
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.

Elenco dei parametri

year

Year of the date.

week

Week of the date.

dayOfWeek

Offset from the first day of the week.

Valori restituiti

Returns a new DateTimeImmutable object with the modified data.

Esempi

Example #1 DateTimeImmutable::setISODate() example

Stile orientato agli oggetti

<?php

$date
= new DateTimeImmutable();

$newDate = $date->setISODate(2008, 2);
echo
$newDate->format('Y-m-d') . "\n";

$newDate = $date->setISODate(2008, 2, 7);
echo
$newDate->format('Y-m-d') . "\n";

Il precedente esempio visualizzerà:

2008-01-07
2008-01-13

Stile procedurale

<?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";

Il precedente esempio visualizzerà:

2008-01-07
2008-01-13

Example #2 Values exceeding ranges are added to their parent values

<?php

$date
= new DateTimeImmutable();

$newDate = $date->setISODate(2008, 2, 7);
echo
$newDate->format('Y-m-d') . "\n";

$newDate = $date->setISODate(2008, 2, 8);
echo
$newDate->format('Y-m-d') . "\n";

$newDate = $date->setISODate(2008, 53, 7);
echo
$newDate->format('Y-m-d') . "\n";

Il precedente esempio visualizzerà:

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

Example #3 Finding the month a week is in

<?php

$date
= new DateTimeImmutable();
$newDate = $date->setISODate(2008, 14);
echo
$newDate->format('n');

Il precedente esempio visualizzerà:

3

Vedere anche:

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top