diff --git a/src/Microsoft.OpenApi/Writers/OpenApiWriterBase.cs b/src/Microsoft.OpenApi/Writers/OpenApiWriterBase.cs
index 63096135b..172e3fa2a 100644
--- a/src/Microsoft.OpenApi/Writers/OpenApiWriterBase.cs
+++ b/src/Microsoft.OpenApi/Writers/OpenApiWriterBase.cs
@@ -157,13 +157,21 @@ public virtual void WriteValue(long value)
}
///
- /// Write dateTimeOffset value.
+ /// Write DateTime value.
///
- /// The decimal value.
+ /// The DateTime value.
+ public virtual void WriteValue(DateTime value)
+ {
+ this.WriteValue(value.ToString("o"));
+ }
+
+ ///
+ /// Write DateTimeOffset value.
+ ///
+ /// The DateTimeOffset value.
public virtual void WriteValue(DateTimeOffset value)
{
- WriteValueSeparator();
- Writer.Write(value.ToString("o"));
+ this.WriteValue(value.ToString("o"));
}
///
@@ -218,6 +226,10 @@ public virtual void WriteValue(object value)
{
WriteValue((decimal)value);
}
+ else if ( type == typeof(DateTime) || type == typeof(DateTime?) )
+ {
+ WriteValue((DateTime)value);
+ }
else if (type == typeof(DateTimeOffset) || type == typeof(DateTimeOffset?))
{
WriteValue((DateTimeOffset)value);
diff --git a/test/Microsoft.OpenApi.Tests/Writers/OpenApiJsonWriterTests.cs b/test/Microsoft.OpenApi.Tests/Writers/OpenApiJsonWriterTests.cs
index e4a90c280..253e74c06 100644
--- a/test/Microsoft.OpenApi.Tests/Writers/OpenApiJsonWriterTests.cs
+++ b/test/Microsoft.OpenApi.Tests/Writers/OpenApiJsonWriterTests.cs
@@ -1,6 +1,7 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
+using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
@@ -134,6 +135,17 @@ public static IEnumerable