diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5b3de80..64601ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [Unreleased]
+### Changed
+ - ProcessorUtils Uptime methods changed to StartTime
## [14.1.0] - 2021-01-21
### Added
diff --git a/ICD.Common.Utils/ProcessorUtils.SimplSharp.cs b/ICD.Common.Utils/ProcessorUtils.SimplSharp.cs
index f42b52c..3b9bc65 100644
--- a/ICD.Common.Utils/ProcessorUtils.SimplSharp.cs
+++ b/ICD.Common.Utils/ProcessorUtils.SimplSharp.cs
@@ -228,21 +228,6 @@ namespace ICD.Common.Utils
IcdConsole.SendControlSystemCommand("reboot", ref consoleResult);
}
- ///
- /// Gets the uptime for the system
- ///
- ///
- [PublicAPI]
- public static TimeSpan GetSystemUptime()
- {
- if (s_SystemUptimeStartTimeUtc == null)
- UpdateSystemStartTime();
-
- if (s_SystemUptimeStartTimeUtc != null)
- return IcdEnvironment.GetUtcTime() - s_SystemUptimeStartTimeUtc.Value;
- return default(TimeSpan);
- }
-
///
/// Gets the time the system was started
/// DateTime that uptime starts
@@ -262,26 +247,27 @@ namespace ICD.Common.Utils
///
///
[PublicAPI]
- public static TimeSpan GetProgramUptime()
+ public static DateTime? GetProgramStartTime()
{
- if (s_ProgramUptimeStartTimeUtc == null)
- {
- string uptime = GetProgramUptimeFeedback((int)ProgramUtils.ProgramNumber);
- Match match = Regex.Match(uptime, UPTIME_REGEX);
- if (!match.Success)
- return default(TimeSpan);
+ if (s_ProgramUptimeStartTimeUtc != null)
+ return s_ProgramUptimeStartTimeUtc;
- int days = int.Parse(match.Groups["days"].Value);
- int hours = int.Parse(match.Groups["hours"].Value);
- int minutes = int.Parse(match.Groups["minutes"].Value);
- int seconds = int.Parse(match.Groups["seconds"].Value);
- int milliseconds = int.Parse(match.Groups["milliseconds"].Value);
- TimeSpan span = new TimeSpan(days, hours, minutes, seconds, milliseconds);
- s_ProgramUptimeStartTimeUtc = IcdEnvironment.GetUtcTime() - span;
- }
+ string uptime = GetProgramUptimeFeedback((int)ProgramUtils.ProgramNumber);
+ Match match = Regex.Match(uptime, UPTIME_REGEX);
+ if (!match.Success)
+ return null;
- return IcdEnvironment.GetUtcTime() - s_ProgramUptimeStartTimeUtc.Value;
+ int days = int.Parse(match.Groups["days"].Value);
+ int hours = int.Parse(match.Groups["hours"].Value);
+ int minutes = int.Parse(match.Groups["minutes"].Value);
+ int seconds = int.Parse(match.Groups["seconds"].Value);
+ int milliseconds = int.Parse(match.Groups["milliseconds"].Value);
+
+ TimeSpan span = new TimeSpan(days, hours, minutes, seconds, milliseconds);
+ s_ProgramUptimeStartTimeUtc = IcdEnvironment.GetUtcTime() - span;
+
+ return s_ProgramUptimeStartTimeUtc;
}
#endregion
diff --git a/ICD.Common.Utils/ProcessorUtils.Standard.cs b/ICD.Common.Utils/ProcessorUtils.Standard.cs
index cfa1a58..a043bf6 100644
--- a/ICD.Common.Utils/ProcessorUtils.Standard.cs
+++ b/ICD.Common.Utils/ProcessorUtils.Standard.cs
@@ -137,16 +137,6 @@ namespace ICD.Common.Utils
throw new NotSupportedException();
}
- ///
- /// Gets the uptime for the system
- ///
- ///
- [PublicAPI]
- public static TimeSpan GetSystemUptime()
- {
- return TimeSpan.FromMilliseconds(Environment.TickCount);
- }
-
///
/// Gets the time the system was started
/// DateTime that uptime starts
@@ -162,14 +152,14 @@ namespace ICD.Common.Utils
}
///
- /// Gets the uptime
+ /// Gets the time the program was started
+ /// Datetime the program starts
///
///
[PublicAPI]
- public static TimeSpan GetProgramUptime()
+ public static DateTime? GetProgramStartTime()
{
- var current = System.Diagnostics.Process.GetCurrentProcess();
- return IcdEnvironment.GetLocalTime() - current.StartTime;
+ return GetSystemStartTime();
}
#endregion