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

Commit c4afeff

Browse files
Tweaking the way dates are stored
1 parent 837dae0 commit c4afeff

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

src/GitHub.Api/Helpers/Constants.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,23 @@ static class Constants
1313
public const string GitTimeoutKey = "GitTimeout";
1414
public const string Iso8601Format = @"yyyy-MM-dd\THH\:mm\:ss.fffzzz";
1515
public const string Iso8601FormatZ = @"yyyy-MM-dd\THH\:mm\:ss\Z";
16-
public const string Iso8601FormatPointZ = @"yyyy-MM-dd\THH\:mm\:ss.ff\Z";
1716
public static readonly string[] Iso8601Formats = {
17+
Iso8601Format,
1818
Iso8601FormatZ,
1919
@"yyyy-MM-dd\THH\:mm\:ss.fffffffzzz",
20-
Iso8601Format,
21-
Iso8601FormatPointZ,
20+
@"yyyy-MM-dd\THH\:mm\:ss.ffffffzzz",
21+
@"yyyy-MM-dd\THH\:mm\:ss.fffffzzz",
22+
@"yyyy-MM-dd\THH\:mm\:ss.ffffzzz",
23+
@"yyyy-MM-dd\THH\:mm\:ss.ffzzz",
24+
@"yyyy-MM-dd\THH\:mm\:ss.fzzz",
2225
@"yyyy-MM-dd\THH\:mm\:sszzz",
26+
@"yyyy-MM-dd\THH\:mm\:ss.fffffff\Z",
27+
@"yyyy-MM-dd\THH\:mm\:ss.ffffff\Z",
28+
@"yyyy-MM-dd\THH\:mm\:ss.fffff\Z",
29+
@"yyyy-MM-dd\THH\:mm\:ss.ffff\Z",
30+
@"yyyy-MM-dd\THH\:mm\:ss.fff\Z",
31+
@"yyyy-MM-dd\THH\:mm\:ss.ff\Z",
32+
@"yyyy-MM-dd\THH\:mm\:ss.f\Z",
2333
};
2434
public const DateTimeStyles DateTimeStyle = DateTimeStyles.AssumeUniversal | DateTimeStyles.AdjustToUniversal;
2535
public const string SkipVersionKey = "SkipVersion";

src/GitHub.Api/Helpers/SimpleJson.cs

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1250,17 +1250,7 @@ class PocoJsonSerializerStrategy : IJsonSerializerStrategy
12501250
internal static readonly Type[] EmptyTypes = new Type[0];
12511251
internal static readonly Type[] ArrayConstructorParameterTypes = new Type[] { typeof(int) };
12521252

1253-
private static readonly string[] Iso8601Format = new string[]
1254-
{
1255-
@"yyyy-MM-dd\THH\:mm\:sszzz",
1256-
@"yyyy-MM-dd\THH\:mm\:ss.fffffffzzz",
1257-
@"yyyy-MM-dd\THH\:mm\:ss.fffzzz",
1258-
@"yyyy-MM-dd\THH\:mm\:ss\Z",
1259-
@"yyyy-MM-dd\THH:mm:ss.fffffffzzz",
1260-
@"yyyy-MM-dd\THH:mm:ss.fffzzz",
1261-
@"yyyy-MM-dd\THH:mm:sszzz",
1262-
@"yyyy-MM-dd\THH:mm:ss\Z",
1263-
};
1253+
private static readonly string[] Iso8601Formats = Constants.Iso8601Formats;
12641254

12651255
public PocoJsonSerializerStrategy()
12661256
{
@@ -1504,9 +1494,9 @@ protected virtual bool TrySerializeKnownTypes(object input, out object output)
15041494
if (input is NPath || input is UriString)
15051495
output = input.ToString();
15061496
else if (input is DateTime)
1507-
output = ((DateTime)input).ToUniversalTime().ToString(Iso8601Format[0], CultureInfo.InvariantCulture);
1497+
output = ((DateTime)input).ToUniversalTime().ToString(Iso8601Formats[0], CultureInfo.InvariantCulture);
15081498
else if (input is DateTimeOffset)
1509-
output = ((DateTimeOffset)input).ToUniversalTime().ToString(Iso8601Format[0], CultureInfo.InvariantCulture);
1499+
output = ((DateTimeOffset)input).ToUniversalTime().ToString(Iso8601Formats[0], CultureInfo.InvariantCulture);
15101500
else if (input is Guid)
15111501
output = ((Guid)input).ToString("D");
15121502
else if (input is Uri)

src/tests/UnitTests/IO/LockOutputProcessorTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public void ShouldParseTwoLocksFormat()
7474
[Test]
7575
public void ShouldParseVSTSLocksFormat()
7676
{
77-
var nowString = DateTimeOffset.UtcNow.ToString(Constants.Iso8601FormatPointZ);
77+
var nowString = DateTimeOffset.UtcNow.ToString(@"yyyy-MM-dd\THH\:mm\:ss.ff\Z");
7878
var now = DateTimeOffset.ParseExact(nowString, Constants.Iso8601Formats, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
7979
var output = new[]
8080
{

0 commit comments

Comments
 (0)