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;
|
|
}
|
|
}
|
|
} |