Skip to content

Commit 7062b0a

Browse files
committed
Replace helper implementation with DateOffset members
1 parent 8f6ad7c commit 7062b0a

File tree

1 file changed

+3
-13
lines changed

1 file changed

+3
-13
lines changed

LibGit2Sharp/Core/Epoch.cs

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,20 @@ namespace LibGit2Sharp.Core
77
/// </summary>
88
internal static class Epoch
99
{
10-
private static readonly DateTimeOffset epochDateTimeOffset = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
11-
1210
/// <summary>
1311
/// Builds a <see cref="DateTimeOffset"/> from a Unix timestamp and a timezone offset.
1412
/// </summary>
1513
/// <param name="secondsSinceEpoch">The number of seconds since 00:00:00 UTC on 1 January 1970.</param>
1614
/// <param name="timeZoneOffsetInMinutes">The number of minutes from UTC in a timezone.</param>
1715
/// <returns>A <see cref="DateTimeOffset"/> representing this instant.</returns>
18-
public static DateTimeOffset ToDateTimeOffset(long secondsSinceEpoch, int timeZoneOffsetInMinutes)
19-
{
20-
DateTimeOffset utcDateTime = epochDateTimeOffset.AddSeconds(secondsSinceEpoch);
21-
TimeSpan offset = TimeSpan.FromMinutes(timeZoneOffsetInMinutes);
22-
return new DateTimeOffset(utcDateTime.DateTime.Add(offset), offset);
23-
}
16+
public static DateTimeOffset ToDateTimeOffset(long secondsSinceEpoch, int timeZoneOffsetInMinutes) =>
17+
DateTimeOffset.FromUnixTimeSeconds(secondsSinceEpoch).ToOffset(TimeSpan.FromMinutes(timeZoneOffsetInMinutes));
2418

2519
/// <summary>
2620
/// Converts the<see cref="DateTimeOffset.UtcDateTime"/> part of a <see cref="DateTimeOffset"/> into a Unix timestamp.
2721
/// </summary>
2822
/// <param name="date">The <see cref="DateTimeOffset"/> to convert.</param>
2923
/// <returns>The number of seconds since 00:00:00 UTC on 1 January 1970.</returns>
30-
public static Int32 ToSecondsSinceEpoch(this DateTimeOffset date)
31-
{
32-
DateTimeOffset utcDate = date.ToUniversalTime();
33-
return (Int32)utcDate.Subtract(epochDateTimeOffset).TotalSeconds;
34-
}
24+
public static Int32 ToSecondsSinceEpoch(this DateTimeOffset date) => (int)date.ToUnixTimeSeconds();
3525
}
3626
}

0 commit comments

Comments
 (0)