32 lines
1.0 KiB
C#
32 lines
1.0 KiB
C#
|
using System;
|
|||
|
|
|||
|
namespace ThinkingSDK.PC.Time
|
|||
|
{
|
|||
|
public class ThinkingSDKTimeCalibration
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Timestamp when time was calibrated
|
|||
|
/// </summary>
|
|||
|
public long mStartTime;
|
|||
|
/// <summary>
|
|||
|
/// System boot time when calibrating time
|
|||
|
/// </summary>
|
|||
|
public long mSystemElapsedRealtime;
|
|||
|
public DateTime NowDate()
|
|||
|
{
|
|||
|
long nowTime = Environment.TickCount;
|
|||
|
long timestamp = nowTime - this.mSystemElapsedRealtime + this.mStartTime;
|
|||
|
// DateTime dt = DateTimeOffset.FromUnixTimeMilliseconds(timestamp).LocalDateTime;
|
|||
|
// return dt;
|
|||
|
|
|||
|
DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
|||
|
return dt.AddMilliseconds(timestamp);
|
|||
|
}
|
|||
|
|
|||
|
protected static double ConvertDateTimeInt(System.DateTime time)
|
|||
|
{
|
|||
|
DateTime startTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
|||
|
return (double)(time - startTime).TotalMilliseconds;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|