DateTime ක්රමය
DateTime ක්රමය OOP විලාසයෙන් දින සහ වේලා සමඟ වැඩ කිරීම සඳහා ප්රධාන මෙවලමයි. එය දින/වේලා වස්තූන් නිර්මාණය කිරීම, ඒවා වෙනස් කිරීම සහ ප්රතිදානය ආකෘතිගත කිරීමට ඉඩ සලසයි.
වත්මන් වේලාව
වත්මන් දිනය සහ වේලාව සමඟ 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ක්රමය,
වේලා කලාපයක් නිර්වචනය කරයි