diff --git a/ModelDescriber/DateTimeModelDescriber.php b/ModelDescriber/DateTimeModelDescriber.php
new file mode 100644
index 0000000..36fbfaa
--- /dev/null
+++ b/ModelDescriber/DateTimeModelDescriber.php
@@ -0,0 +1,29 @@
+setType('string');
+ $schema->setFormat('date-time');
+ }
+
+ public function supports(Model $model): bool
+ {
+ return 'DateTime' === $model->getType()->getClassName() || 'DateTimeImmutable' === $model->getType()->getClassName();
+ }
+}
diff --git a/Resources/config/services.xml b/Resources/config/services.xml
index 2fa25bd..81bdaba 100644
--- a/Resources/config/services.xml
+++ b/Resources/config/services.xml
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/Tests/Functional/Entity/User.php b/Tests/Functional/Entity/User.php
index 39fb774..ff69567 100644
--- a/Tests/Functional/Entity/User.php
+++ b/Tests/Functional/Entity/User.php
@@ -16,7 +16,21 @@ namespace Nelmio\ApiDocBundle\Tests\Functional\Entity;
*/
class User
{
- public function addUsers(User $user)
+ /**
+ * @var \DateTime
+ */
+ private $createdAt;
+
+ /**
+ * @var User[]
+ */
+ private $users;
+
+ public function setCreatedAt(\DateTime $createAt)
+ {
+ }
+
+ public function setUsers(array $users)
{
}
diff --git a/Tests/Functional/FunctionalTest.php b/Tests/Functional/FunctionalTest.php
index 1d99632..c0e71ec 100644
--- a/Tests/Functional/FunctionalTest.php
+++ b/Tests/Functional/FunctionalTest.php
@@ -150,12 +150,20 @@ class FunctionalTest extends WebTestCase
$model = $this->getModel('User');
$this->assertEquals('object', $model->getType());
$properties = $model->getProperties();
+ $this->assertCount(3, $properties);
$this->assertTrue($properties->has('users'));
$this->assertEquals('#/definitions/User[]', $properties->get('users')->getRef());
$this->assertTrue($properties->has('dummy'));
$this->assertEquals('#/definitions/Dummy2', $properties->get('dummy')->getRef());
+
+ $this->assertTrue($properties->has('createdAt'));
+ $this->assertEquals('#/definitions/DateTime', $properties->get('createdAt')->getRef());
+
+ $model = $this->getModel('DateTime');
+ $this->assertEquals('string', $model->getType());
+ $this->assertEquals('date-time', $model->getFormat());
}
public function testUsersModel()
diff --git a/Tests/Functional/JMSFunctionalTest.php b/Tests/Functional/JMSFunctionalTest.php
index b11507a..1f111eb 100644
--- a/Tests/Functional/JMSFunctionalTest.php
+++ b/Tests/Functional/JMSFunctionalTest.php
@@ -11,8 +11,6 @@
namespace Nelmio\ApiDocBundle\Tests\Functional;
-use JMS\SerializerBundle\JMSSerializerBundle;
-
class JMSFunctionalTest extends WebTestCase
{
public function testModelDocumentation()