DateTimeImmutable Klassy
DateTimeImmutable klassy DateTime-nyň özgermez analogydyr. Ol islendik üýtgetme girizilende täze obýekt döredýär, bu bolsa ony işlemek üçin has öňünden görünýän we howpsuz edýär.
Häzirki wagt pursaty
Geliň, häzirki sene we wagt bilen DateTimeImmutable obýektini döredeliň:
<?php
$date = new DateTimeImmutable();
?>
Belirli sene
Geliň, görkezilen sene bilen DateTimeImmutable obýektini döredeliň:
<?php
$date = new DateTimeImmutable('2025-12-31');
?>
Belirli sene we wagt
Geliň, görkezilen sene we wagt bilen DateTimeImmutable obýektini döredeliň:
<?php
$date = new DateTimeImmutable('2025-12-31 12:59:59');
?>
Çykyş formatirlenmesi
Döredilen senäni format metodi ýardamynda görkezilen formatda çykarmak bolýar. Geliň, muny häzirki wagt pursaty üçin edeliň:
<?php
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:s');
?>
Netije (ýerine ýetirilýän pursada baglylykda üýtgerer):
'2025-11-15 14:25:00'
Görkezilen senäniň formatirlenmesi
Geliň, görkezilen senäni formatirläp göreliň:
<?php
$date = new DateTimeImmutable('2025-12-31');
echo $date->format('d.m.Y');
?>
Kodyň ýerine ýetiriliş netijesi:
'31.12.2025'
Interwal goşmak
Senä interwal goşmak add metodi arkaly amala aşyrylýar:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P10D'); // 10 gün
$newDate = $date->add($interval);
echo $newDate->format('Y-m-d');
?>
Kodyň ýerine ýetiriliş netijesi:
'2025-05-25'
Interwal aýyrmak
Senä interwal aýyrmak sub metodi arkaly amala aşyrylýar:
<?php
$date = new DateTimeImmutable('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 aý we 2 gün
$newDate = $date->sub($interval);
echo $newDate->format('Y-m-d');
?>
Kodyň ýerine ýetiriliş netijesi:
'2025-04-13'
Täze senäni gurmak
DateTimeImmutable obýekti üçin täze senäni gurmak bolýar. Bu setDate metodi arkaly edilýär:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setDate(2024, 12, 31);
echo $newDate->format('Y-m-d');
?>
Kodyň ýerine ýetiriliş netijesi:
'2024-12-31'
Wagty gurmak
DateTimeImmutable obýekti üçin täze wagty gurmak bolýar. Bu setTime metodi arkaly edilýär:
<?php
$date = new DateTimeImmutable();
$newDate = $date->setTime(15, 30, 0);
echo $newDate->format('H:i:s');
?>
Kodyň ýerine ýetiriliş netijesi:
'15:30:00'
Seneleri deňeşdirmek
Sene bilen obýektleri deňeşdirip bolýar:
<?php
$date1 = new DateTimeImmutable('2025-01-01');
$date2 = new DateTimeImmutable('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Sagat guşaky bilen obýekti döretmek
DateTimeImmutable obýektini döredende sagat guşak belgip bolýar:
<?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');
?>
Kodyň ýerine ýetiriliş netijesi:
'2025-12-31 23:59:59 Europe/Moscow'
Şeýle-de görüň
-
DateIntervalklassy,
ýagdaýy wagt interwalyny görkezýär -
DateTimeZoneklassy,
ýagdaýy sagat guşagyny görkezýär