format()); self::assertEquals("05/04/2024 09:15:23", strval($date)); self::assertSame(2024, $date->year); self::assertSame(4, $date->month); self::assertSame(5, $date->day); self::assertSame(9, $date->hour); self::assertSame(15, $date->minute); self::assertSame(23, $date->second); self::assertSame(5, $date->wday); self::assertSame(14, $date->wnum); self::assertEquals("+04:00", $date->timezone); self::assertSame("05/04/2024 09:15:23", $date->datetime); self::assertSame("05/04/2024", $date->date); self::assertSame("20240405", $date->Ymd); self::assertSame("20240405T091523", $date->YmdHMS); self::assertSame("20240405T091523+04:00", $date->YmdHMSZ); } function testDateTimeZ() { $date = new DateTime("20240405T091523Z"); self::assertSame("20240405T091523", $date->YmdHMS); self::assertSame("20240405T091523Z", $date->YmdHMSZ); } function testClone() { $date = self::dt("now"); $clone = DateTime::clone($date); self::assertInstanceOf(DateTime::class, $clone); } function testConstruct() { $y = date("Y"); self::assertSame("05/04/$y 00:00:00", strval(new DateTime("5/4"))); self::assertSame("05/04/2024 00:00:00", strval(new DateTime("5/4/24"))); self::assertSame("05/04/2024 00:00:00", strval(new DateTime("5/4/2024"))); self::assertSame("05/04/2024 00:00:00", strval(new DateTime("05/04/2024"))); self::assertSame("05/04/2024 00:00:00", strval(new DateTime("20240405"))); self::assertSame("05/04/2024 00:00:00", strval(new DateTime("240405"))); self::assertSame("05/04/2024 09:15:23", strval(new DateTime("20240405T091523"))); self::assertSame("05/04/2024 09:15:23", strval(new DateTime("20240405T091523Z"))); self::assertSame("05/04/2024 09:15:23", strval(new DateTime("5/4/2024 9:15:23"))); self::assertSame("05/04/2024 09:15:23", strval(new DateTime("5/4/2024 9.15.23"))); self::assertSame("05/04/2024 09:15:00", strval(new DateTime("5/4/2024 9:15"))); self::assertSame("05/04/2024 09:15:00", strval(new DateTime("5/4/2024 9.15"))); self::assertSame("05/04/2024 09:15:00", strval(new DateTime("5/4/2024 9h15"))); self::assertSame("05/04/2024 09:15:23", strval(new DateTime("5/4/2024 09:15:23"))); self::assertSame("05/04/2024 09:15:00", strval(new DateTime("5/4/2024 09:15"))); self::assertSame("05/04/2024 09:15:00", strval(new DateTime("5/4/2024 09h15"))); } }