DateTimeImmutable Классы
DateTimeImmutable классы DateTime класcынын өзгөрбөс аналогу болуп саналат. Ал каалаган өзгөртүү жүргүзүлгөндө жаңы объект түзөт, бул аны иштөө үчүн болжолдуураак жана коопсуз кылат.
Учурдагы убакыт
Келгиле, учурдагы дата жана убакыт менен DateTimeImmutable объектин түзөлү:
<?php
$date = new DateTimeImmutable();
?>
Белгилүү бир дата
Келгиле, көрсөтүлгөн дата менен DateTimeImmutable объектин түзөлү:
<?php
$date = new DateTimeImmutable('2025-12-31');
?>
Белгилүү бир дата жана убакыт
Келгиле, көрсөтүлгөн дата жана убакыт менен DateTimeImmutable объектин түзөлү:
<?php
$date = new DateTimeImmutable('2025-12-31 12:59:59');
?>
Чыгарууну форматтоо
Түзүлгөн датаны format методунун жардамы менен берилген форматта чыгарса болот. Келгиле, муну учурдагы убакыт үчүн жасалы:
<?php
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:s');
?>
Натыйжа (аткарылган учурга жараша өзгөрөт):
'2025-11-15 14:25:00'
Берилген датаны форматтоо
Келгиле, берилген датаны форматтайлы:
<?php
$date = new DateTimeImmutable('2025-12-31');
echo $date->format('d.m.Y');
?>
Кодду аткаруунун натыйжасы:
'31.12.2025'
Аралык кошуу
Датага аралык кошуу add методу аркылуу ишке ашат:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P10D'); // 10 күн
$newDate = $date->add($interval);
echo $newDate->format('Y-m-d');
?>
Кодду аткаруунун натыйжасы:
'2025-05-25'
Аралык алуу
Датадан аралык алуу sub методу аркылуу ишке ашат:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 ай жана 2 күн
$newDate = $date->sub($interval);
echo $newDate->format('Y-m-d');
?>
Кодду аткаруунун натыйжасы:
'2025-04-13'
Жаңы дата коюу
DateTimeImmutable объекти үчүн жаңы дата коюуга болот. Муну setDate методу аркылуу жасашат:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setDate(2024, 12, 31);
echo $newDate->format('Y-m-d');
?>
Кодду аткаруунун натыйжасы:
'2024-12-31'
Убакыт коюу
DateTimeImmutable объекти үчүн жаңы убакыт коюуга болот. Муну setTime методу аркылуу жасашат:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setTime(15, 30, 0);
echo $newDate->format('H:i:s');
?>
Кодду аткаруунун натыйжасы:
'15:30:00'
Даталарды салыштыруу
Даталар менен объекттерди салыштырууга болот:
<?php
$date1 = new DateTimeImmutable('2025-01-01');
$date2 = new DateTimeImmutable('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Убакыт алкагы менен объект түзүү
DateTimeImmutable объектин түзгөндө убакыт алкагын көрсөтсө болот:
<?php
$timeZone = new DateTimeZone('Europe/Moscow');
$date = new DateTimeImmutable('2025-12-31 23:59:59', $timeZone);
echo $date->format('Y-m-d H:i:s e');
?>
Кодду аткаруунун натыйжасы:
'2025-12-31 23:59:59 Europe/Moscow'
Ошондой эле караңыз
-
DateIntervalклассы,
убакыт аралыгын белгилейт -
DateTimeZoneклассы,
убакыт алкагын белгилейт