Unity基础 Unity获取当前时间的时间戳
Posted 彭老希
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity基础 Unity获取当前时间的时间戳相关的知识,希望对你有一定的参考价值。
一、单位换算
1秒 = 1000毫秒
1毫秒 = 1000微妙
1微秒 = 1000纳秒
二、获取Unix时间戳
/// <summary>
/// 获取时间戳(精确到秒)
/// TimeTool.ConvertDateTimep(DateTime.Now)
/// </summary>
/// <param name="time">时间</param>
public static long ConvertDateTimep(DateTime time)
return ((time.ToUniversalTime().Ticks - 621355968000000000) / 10000000);
//等价于:
//return ((time.ToUniversalTime().Ticks - new DateTime(1970, 1, 1, 0, 0, 0, 0).Ticks) / 10000000) * 1000;
/// <summary>
/// 时间戳转为C#格式时间
/// TimeTool.GetTime(TimeTool.ConvertDateTiemp(DateTime.Now).ToString())
/// </summary>
/// <param name="timeStamp">时间戳</param>
/// <returns></returns>
public static DateTime GetTime(string timeStamp)
if (timeStamp.Length > 10)
timeStamp = timeStamp.Substring(0, 10);
DateTime dateTimeStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
long lTime = long.Parse(timeStamp + "0000000");
TimeSpan toNow = new TimeSpan(lTime);
return dateTimeStart.Add(toNow);
时间戳使用方式
//获取当前时间戳
long unixTime = TimeTool.ConvertDateTimep(DateTime.Now);
Debug.Log(unixTime);
//将时间戳转换为DateTime
Debug.Log(TimeTool.GetTime(unixTime.ToString()).ToString());
Debug.Log(TimeTool.GetTime(unixTime.ToString()).Year);
Debug.Log(TimeTool.GetTime(unixTime.ToString()).Month);
Debug.Log(TimeTool.GetTime(unixTime.ToString()).Day);
Debug.Log(TimeTool.GetTime(unixTime.ToString()).Hour);
Debug.Log(TimeTool.GetTime(unixTime.ToString()).Minute);
Debug.Log(TimeTool.GetTime(unixTime.ToString()).Second);
三、获取当前时间的时间戳
private long GetTime()
//精确到毫秒
return new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();
四、获取当前时间毫秒值
方式一:
例如:获取从1970年1月1日至当前时间所经过的毫秒数
//获取当前Ticks
long currentTicks=DateTime.Now.Ticks;
DateTime dtFrom = new DateTime(1970, 1, 1, 0, 0, 0, 0);
long currentMillis = (currentTicks - dtFrom.Ticks) / 10000;
方式二:
例如一:获取当前时间毫秒数
(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000
例如二:获取当前时间秒数
(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
以上是关于Unity基础 Unity获取当前时间的时间戳的主要内容,如果未能解决你的问题,请参考以下文章