Darasa DateTime
Darasa DateTime ni zana kuu ya kufanya kazi na tarehe na wakati katika mtindo wa OOP. Linaruhusu kuunda viungo vya tarehe/wakati, kuvirekebisha na kuunda muundo wa matokeo.
Wakati wa sasa
Wacha tuunde kitu DateTime
na tarehe na wakati wa sasa:
<?php
$date = new DateTime();
?>
Tarehe maalum
Wacha tuunde kitu DateTime na tarehe maalum:
<?php
$date = new DateTime('2025-12-31');
?>
Tarehe na wakati maalum
Wacha tuunde kitu DateTime
na tarehe na wakati maalum:
<?php
$date = new DateTime('2025-12-31 12:59:59');
?>
Kuunda muundo wa matokeo
Tarehe iliyoundwa inaweza kutolewa kwa muundo uliopangwa
kwa kutumia mbinu format. Wacha tufanye
hii kwa wakati wa sasa:
<?php
$date = new DateTime();
echo $date->format('Y-m-d H:i:s');
?>
Matokeo (itabadilika kulingana na wakati wa utekelezaji):
'2025-11-15 14:25:00'
Kuunda muundo wa tarehe maalum
Wacha tuunde muundo wa tarehe maalum:
<?php
$date = new DateTime('2025-12-31');
echo $date->format('d.m.Y');
?>
Matokeo ya kutekeleza kodi:
'31.12.2025'
Kuongeza muda
Kuongeza muda kwa tarehe
hufanyika kupitia mbinu add:
<?php
$date = new DateTime('2025-05-15');
$interval = new DateInterval('P10D'); // siku 10
$date->add($interval);
echo $date->format('Y-m-d');
?>
Matokeo ya kutekeleza kodi:
'2025-05-25'
Kutoa muda
Kutoa muda kutoka kwa tarehe
hufanyika kupitia mbinu sub:
<?php
$date = new DateTime('2025-05-15');
$interval = new DateInterval('P1M2D'); // mwezi 1 na siku 2
$date->sub($interval);
echo $date->format('Y-m-d');
?>
Matokeo ya kutekeleza kodi:
'2025-04-13'
Kuweka tarehe mpya
Inawezekana kuweka tarehe mpya kwa
kitu DateTime. Hii inafanyika
kupitia mbinu setDate:
<?php
$date = new DateTime();
$date->setDate(2025, 12, 31);
echo $date->format('Y-m-d');
?>
Matokeo ya kutekeleza kodi:
'2025-12-31'
Kuweka wakati
Inawezekana kuweka wakati mpya kwa
kitu DateTime. Hii inafanyika
kupitia mbinu setTime:
<?php
$date = new DateTime();
$date->setTime(15, 30, 0);
echo $date->format('H:i:s');
?>
Matokeo ya kutekeleza kodi:
'15:30:00'
Kulinganisha tarehe
Inawezekana kulinganisha viungo vyenye tarehe:
<?php
$date1 = new DateTime('2025-01-01');
$date2 = new DateTime('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Tofauti kati ya tarehe
Kwa kutumia mbinu diff inawezekana kuhesabu
tofauti kati ya tarehe. Tofauti
hurudishwa kwa mfumo wa kitu
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');
?>
Matokeo ya kutekeleza kodi:
'1 months 14 days'
Eneo la saa
Wakati wa kuunda kitu DateTime
inawezekana kubainisha eneo la saa:
<?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');
?>
Matokeo ya kutekeleza kodi:
'2025-12-31 23:59:59 Europe/Moscow'
Angalia pia
-
darasa
DateTimeImmutable,
ambalo linaunda tarehe isiyobadilika -
darasa
DateInterval,
ambalo huweka muda wa wakati -
darasa
DateTimeZone,
ambalo huweka eneo la saa