DateTimeImmutable класы
DateTimeImmutable класы DateTime-тың өзгертілмейтін аналогы болып табылады. Ол кез келген өзгерту кезінде жаңа объект жасайды, бұл оны жұмыс істеу үшін болжамды және қауіпсіз етеді.
Ағымдағы уақыт сәті
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класы,
ол уақыт белдеуін белгілейді