parent
3492a4ebe6
commit
1a1134d974
3 changed files with 127 additions and 6 deletions
@ -0,0 +1,64 @@ |
||||
--TEST-- |
||||
DateTime Built-in Class - Creating objects, calling methods, reading/writing properties |
||||
--FILE-- |
||||
<?php |
||||
|
||||
// Test DateTime class basic functionality |
||||
$date = new DateTime('2023-06-15 10:30:45'); |
||||
echo $date->format('Y-m-d H:i:s') . "\n"; |
||||
|
||||
// Test modifying date |
||||
$date->modify('+1 day'); |
||||
echo $date->format('Y-m-d H:i:s') . "\n"; |
||||
|
||||
// Test setting date and time |
||||
$date->setDate(2024, 1, 1); |
||||
$date->setTime(12, 0, 0); |
||||
echo $date->format('Y-m-d H:i:s') . "\n"; |
||||
|
||||
// Test timestamp |
||||
$timestamp = $date->getTimestamp(); |
||||
echo $timestamp . "\n"; |
||||
|
||||
// Create from timestamp |
||||
$date2 = new DateTime(); |
||||
$date2->setTimestamp($timestamp); |
||||
echo $date2->format('Y-m-d H:i:s') . "\n"; |
||||
|
||||
// Test timezone |
||||
$date->setTimezone(new DateTimeZone('UTC')); |
||||
echo $date->format('Y-m-d H:i:s T') . "\n"; |
||||
|
||||
// Test diff method |
||||
$date3 = new DateTime('2023-01-01'); |
||||
$date4 = new DateTime('2023-12-31'); |
||||
$interval = $date3->diff($date4); |
||||
echo $interval->days . " days\n"; |
||||
|
||||
// Test static create methods |
||||
$now = DateTime::createFromFormat('U', time()); |
||||
echo $now->format('Y-m-d H:i:s') . "\n"; |
||||
|
||||
// Test add/subtract intervals |
||||
$date->add(new DateInterval('P1D')); // Add 1 day |
||||
echo $date->format('Y-m-d H:i:s') . "\n"; |
||||
$date->sub(new DateInterval('P1D')); // Subtract 1 day |
||||
echo $date->format('Y-m-d H:i:s') . "\n"; |
||||
|
||||
// Test formatting options |
||||
echo $date->format('c') . "\n"; // ISO 8601 format |
||||
echo $date->format('r') . "\n"; // RFC 2822 format |
||||
?> |
||||
--EXPECTF-- |
||||
2023-06-15 10:30:45 |
||||
2023-06-16 10:30:45 |
||||
2024-01-01 12:00:00 |
||||
1704110400 |
||||
2024-01-01 12:00:00 |
||||
2024-01-01 12:00:00 UTC |
||||
364 days |
||||
%d-%d-%d %d:%d:%d |
||||
2024-01-02 12:00:00 |
||||
2024-01-01 12:00:00 |
||||
2024-01-01T12:00:00+00:00 |
||||
Mon, 01 Jan 2024 12:00:00 +0000 |
||||
Loading…
Reference in new issue