DateTime класы
DateTime класы ООП стилінде уақыт пен күндермен жұмыс жасау үшін негізгі құрал болып табылады. Ол уақыт/күн объектілерін жасауға, оларды өзгертуге және шығаруды пішімдеуге мүмкіндік береді.
Ағымдағы уақыт сәті
DateTime объектісін
ағымдағы күн және уақытпен жасайық:
<?php
$date = new DateTime();
?>
Нақты күн
DateTime объектісін көрсетілген күнмен жасайық:
<?php
$date = new DateTime('2025-12-31');
?>
Нақты күн
DateTime объектісін
көрсетілген күн және уақытпен жасайық:
<?php
$date = new DateTime('2025-12-31 12:59:59');
?>
Шығаруды пішімдеу
Жасалған күнді format әдісі арқылы
берілген пішімде шығаруға болады.
Мұны ағымдағы уақыт сәті үшін жасайық:
<?php
$date = new DateTime();
echo $date->format('Y-m-d H:i:s');
?>
Нәтиже (орындалу сәтіне байланысты өзгереді):
'2025-11-15 14:25:00'
Берілген күнді пішімдеу
Берілген күнді пішімдейік:
<?php
$date = new DateTime('2025-12-31');
echo $date->format('d.m.Y');
?>
Кодты орындау нәтижесі:
'31.12.2025'
Аралық қосу
Күнге аралық қосу
add әдісі арқылы жүзеге асырылады:
<?php
$date = new DateTime('2025-05-15');
$interval = new DateInterval('P10D'); // 10 күн
$date->add($interval);
echo $date->format('Y-m-d');
?>
Кодты орындау нәтижесі:
'2025-05-25'
Аралық алу
Күннен аралық алу
sub әдісі арқылы жүзеге асырылады:
<?php
$date = new DateTime('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 ай және 2 күн
$date->sub($interval);
echo $date->format('Y-m-d');
?>
Кодты орындау нәтижесі:
'2025-04-13'
Жаңа күнді орнату
DateTime объектісі үшін
жаңа күнді орнатуға болады.
Бұл setDate әдісі арқылы жасалады:
<?php
$date = new DateTime();
$date->setDate(2025, 12, 31);
echo $date->format('Y-m-d');
?>
Кодты орындау нәтижесі:
'2025-12-31'
Уақытты орнату
DateTime объектісі үшін
жаңа уақытты орнатуға болады.
Бұл setTime әдісі арқылы жасалады:
<?php
$date = new DateTime();
$date->setTime(15, 30, 0);
echo $date->format('H:i:s');
?>
Кодты орындау нәтижесі:
'15:30:00'
Күндерді салыстыру
Күндері бар объектілерді салыстыруға болады:
<?php
$date1 = new DateTime('2025-01-01');
$date2 = new DateTime('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Күндер арасындағы айырмашылық
diff әдісін пайдаланып
күндер арасындағы айырмашылықты есептеуге болады.
Айырмашылық DateInterval
объектісі түрінде қайтарылады:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%m months %d days');
?>
Кодты орындау нәтижесі:
'1 months 14 days'
Уақыт белдеуі
DateTime объектісін жасаған кезде
уақыт белдеуін көрсетуге болады:
<?php
$timeZone = new DateTimeZone('Europe/Moscow');
$date = new DateTime('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'
Сондай-ақ қараңыз
-
DateTimeImmutableкласы,
өзгермейтін күн жасайтын -
DateIntervalкласы,
уақыт аралығын белгілейтін -
DateTimeZoneкласы,
уақыт белдеуін белгілейтін