@@ -222,7 +222,7 @@ public bool GetState(string name, out Dictionary<Key, object> state, int maxage
222222 state = storage [ name ] ;
223223 if ( maxage != 0 )
224224 {
225- long now = ( long ) DateTime . UtcNow . Subtract ( new DateTime ( 1970 , 1 , 1 ) ) . TotalMilliseconds ;
225+ long now = DateTimeOffset . UtcNow . ToUnixTimeMilliseconds ( ) ;
226226 if ( long . TryParse ( storage [ name ] [ Key . Timestamp ] . ToString ( ) , out long ts ) && now - ts > maxage )
227227 {
228228 return false ;
@@ -277,7 +277,7 @@ public bool GetBool(string name, out bool value, int maxage = 0)
277277 {
278278 if ( maxage != 0 )
279279 {
280- long now = ( long ) DateTime . UtcNow . Subtract ( new DateTime ( 1970 , 1 , 1 ) ) . TotalMilliseconds ;
280+ long now = DateTimeOffset . UtcNow . ToUnixTimeMilliseconds ( ) ;
281281 if ( long . TryParse ( storage [ name ] [ Key . Timestamp ] . ToString ( ) , out long ts ) && now - ts > maxage )
282282 {
283283 value = false ;
@@ -310,7 +310,7 @@ public bool GetInt(string name, out int value, int maxage = 0)
310310 {
311311 if ( maxage != 0 )
312312 {
313- long now = ( long ) DateTime . UtcNow . Subtract ( new DateTime ( 1970 , 1 , 1 ) ) . TotalMilliseconds ;
313+ long now = DateTimeOffset . UtcNow . ToUnixTimeMilliseconds ( ) ;
314314 if ( long . TryParse ( storage [ name ] [ Key . Timestamp ] . ToString ( ) , out long ts ) && now - ts > maxage )
315315 {
316316 value = int . MinValue ;
@@ -343,7 +343,7 @@ public bool GetDouble(string name, out double value, int maxage = 0)
343343 {
344344 if ( maxage != 0 )
345345 {
346- long now = ( long ) DateTime . UtcNow . Subtract ( new DateTime ( 1970 , 1 , 1 ) ) . TotalMilliseconds ;
346+ long now = DateTimeOffset . UtcNow . ToUnixTimeMilliseconds ( ) ;
347347 if ( long . TryParse ( storage [ name ] [ Key . Timestamp ] . ToString ( ) , out long ts ) && now - ts > maxage )
348348 {
349349 value = double . NaN ;
@@ -376,7 +376,7 @@ public bool GetString(string name, out string value, int maxage = 0)
376376 {
377377 if ( maxage != 0 )
378378 {
379- long now = ( long ) DateTime . UtcNow . Subtract ( new DateTime ( 1970 , 1 , 1 ) ) . TotalMilliseconds ;
379+ long now = DateTimeOffset . UtcNow . ToUnixTimeMilliseconds ( ) ;
380380 if ( long . TryParse ( storage [ name ] [ Key . Timestamp ] . ToString ( ) , out long ts ) && now - ts > maxage )
381381 {
382382 value = string . Empty ;
@@ -1536,7 +1536,7 @@ public string ToString(bool compareTs = false)
15361536 && long . TryParse ( storage [ key ] [ Key . Timestamp ] . ToString ( ) , out long ts ) && ts != 0
15371537 && long . TryParse ( storage [ key ] [ Key . ValueLastUpdate ] . ToString ( ) , out long vlu ) && vlu != 0 )
15381538 {
1539- long now = ( long ) DateTime . UtcNow . Subtract ( new DateTime ( 1970 , 1 , 1 ) ) . TotalMilliseconds ;
1539+ long now = DateTimeOffset . UtcNow . ToUnixTimeMilliseconds ( ) ;
15401540 str += string . Concat ( $ "{ key } => v:[{ storage [ key ] [ Key . Value ] } ] t:{ storage [ key ] [ Key . Type ] } s:{ storage [ key ] [ Key . Source ] } ts:{ storage [ key ] [ Key . Timestamp ] } now:{ now } diff:{ now - ts } ms vlu:{ storage [ key ] [ Key . ValueLastUpdate ] } now:{ now } diff:{ now - vlu } ms", Environment . NewLine ) ;
15411541 }
15421542 else
@@ -1557,7 +1557,7 @@ internal long GetTimestampAge(string source)
15571557 maxTS = ( long ) ( ( maxTS < ( long ) storage [ property ] [ Key . Timestamp ] ) ? storage [ property ] [ Key . Timestamp ] : maxTS ) ;
15581558 }
15591559 }
1560- long now = ( long ) DateTime . UtcNow . Subtract ( new DateTime ( 1970 , 1 , 1 ) ) . TotalMilliseconds ;
1560+ long now = DateTimeOffset . UtcNow . ToUnixTimeMilliseconds ( ) ;
15611561 return maxTS > 0 ? now - maxTS : 0 ;
15621562 }
15631563
0 commit comments