Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit fda969a

Browse files
committed
Add support for new ISO8601DateOnly + ISO8601DateTime formats
1 parent 3bf0736 commit fda969a

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/ServiceStack.Text/Common/DateTimeSerializer.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ public static DateTime ParseShortestXsdDateTime(string dateTimeStr)
120120
return unixTimeMs.FromUnixTimeMs();
121121
break;
122122
case DateHandler.ISO8601:
123+
case DateHandler.ISO8601DateOnly:
124+
case DateHandler.ISO8601DateTime:
123125
if (JsConfig.SkipDateTimeConversion)
124126
dateTimeStr = RemoveUtcOffsets(dateTimeStr, out kind);
125127
break;
@@ -591,7 +593,16 @@ public static void WriteWcfJsonDate(TextWriter writer, DateTime dateTime)
591593
writer.Write(dateTime.ToString("o", CultureInfo.InvariantCulture));
592594
return;
593595
}
594-
596+
if (JsConfig.DateHandler == DateHandler.ISO8601DateOnly)
597+
{
598+
writer.Write(dateTime.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
599+
return;
600+
}
601+
if (JsConfig.DateHandler == DateHandler.ISO8601DateTime)
602+
{
603+
writer.Write(dateTime.ToString("yyyy-MM-dd hh:mm:ss", CultureInfo.InvariantCulture));
604+
return;
605+
}
595606
if (JsConfig.DateHandler == DateHandler.RFC1123)
596607
{
597608
writer.Write(dateTime.ToUniversalTime().ToString("R", CultureInfo.InvariantCulture));

0 commit comments

Comments
 (0)