Skip to content

Commit

Permalink
Display recent events in Pacific time (#8)
Browse files Browse the repository at this point in the history
Signed-off-by: Dave Thaler <[email protected]>
  • Loading branch information
dthaler authored Jun 5, 2024
1 parent 34a507f commit 341fe6c
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 8 deletions.
22 changes: 16 additions & 6 deletions OrcanodeMonitor/Core/Fetcher.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,17 +88,27 @@ public async static Task<EnumerateNodesResult> EnumerateNodesAsync()
}

/// <summary>
/// Convert a unix timestamp in integer form to a DateTime value.
/// Convert a unix timestamp in integer form to a DateTime value in UTC.
/// </summary>
/// <param name="unixTimeStamp">Unix timestamp</param>
/// <returns>DateTime value or null on failure</returns>
public static DateTime? UnixTimeStampToDateTime(long unixTimeStamp)
public static DateTime? UnixTimeStampToDateTimeUtc(long unixTimeStamp)
{
// A Unix timestamp is a count of seconds past the Unix epoch.
DateTime dateTime = _unixEpoch.AddSeconds(unixTimeStamp);
return dateTime;
}

/// <summary>
/// Convert a unix timestamp in integer form to a DateTime value in local time.
/// </summary>
/// <param name="unixTimeStamp">Unix timestamp</param>
/// <returns>DateTime value or null on failure</returns>
public static DateTime? UnixTimeStampToDateTimeLocal(long unixTimeStamp)
{
return UtcToLocalDateTime(UnixTimeStampToDateTimeUtc(unixTimeStamp));
}

public static DateTime? UtcToLocalDateTime(DateTime? utcDateTime)
{
if (utcDateTime == null)
Expand All @@ -110,18 +120,18 @@ public async static Task<EnumerateNodesResult> EnumerateNodesAsync()
}

/// <summary>
/// Convert a unix timestamp in string form to a DateTime value.
/// Convert a unix timestamp in string form to a DateTime value in UTC.
/// </summary>
/// <param name="unixTimeStampString">Unix timestamp string to parse</param>
/// <returns>DateTime value or null on failure</returns>
private static DateTime? UnixTimeStampStringToDateTime(string unixTimeStampString)
private static DateTime? UnixTimeStampStringToDateTimeUtc(string unixTimeStampString)
{
if (!long.TryParse(unixTimeStampString, out var unixTimeStamp))
{
return null;
}

return UnixTimeStampToDateTime(unixTimeStamp);
return UnixTimeStampToDateTimeUtc(unixTimeStamp);
}

public static long DateTimeToUnixTimeStamp(DateTime dateTime)
Expand All @@ -148,7 +158,7 @@ public async static Task UpdateLatestTimestampAsync(Orcanode node, DateTime resp

string content = await response.Content.ReadAsStringAsync();
string unixTimestampString = content.TrimEnd();
DateTime? latestRecorded = UnixTimeStampStringToDateTime(unixTimestampString);
DateTime? latestRecorded = UnixTimeStampStringToDateTimeUtc(unixTimestampString);
if (latestRecorded.HasValue)
{
node.LatestRecordedUtc = latestRecorded.HasValue ? latestRecorded.Value.ToUniversalTime() : null;
Expand Down
4 changes: 2 additions & 2 deletions OrcanodeMonitor/Core/OrcanodeEvent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ public OrcanodeEvent(string slug, OrcanodeStatus status, DateTime timestamp)
public OrcanodeEventMeta Meta { get; private set; }
public override string ToString()
{
return String.Format("{0} {1} at {2}", Slug, Status, Fetcher.UnixTimeStampToDateTime(Meta.UnixTimestamp));
return String.Format("{0} {1} at {2}", Slug, Status, Fetcher.UnixTimeStampToDateTimeLocal(Meta.UnixTimestamp));
}
[JsonPropertyName("timestamp")]
public DateTime? DateTime => Core.Fetcher.UnixTimeStampToDateTime(Meta.UnixTimestamp)?.ToLocalTime();
public DateTime? DateTime => Fetcher.UnixTimeStampToDateTimeLocal(Meta.UnixTimestamp);
[JsonPropertyName("description")]
public string Description { get
{
Expand Down

0 comments on commit 341fe6c

Please sign in to comment.