unity 解析 Unix时间戳

今天接触了Unix时间戳 由后端发来时间戳的格式 :1587991501
接下来 下面俩个方法
///
/// 将Unix时间戳转换为dateTime格式
///
///
///
public static System.DateTime UnixTimeToDateTime(int time)
{
if (time < 0)
throw new System.ArgumentOutOfRangeException(“时间不对!”);

    return System.TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)).AddSeconds(time);
}


/// 
/// 获取当前本地时间戳
/// 
///       
public static long GetCurrentTimeUnix()
{
    System.TimeSpan cha = (System.DateTime.Now - System.TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)));
    long t = (long)cha.TotalSeconds;
    return t;

}

因为是计算倒计时的 需要把后端发过来的时间解析 然后 用当前系统时间减去后端发过来的时间 得到一个时间段 需要用这个时间倒计时

//计算 区间时间的 时 分 秒
//ItemData.QuikHookTime 后端发的时间
//GetCurrentTimeUnix();当前系统的时间戳
void SetUnixTime()
{
decimal unix = ItemData.QuikHookTime - GetCurrentTimeUnix();
int hookTimeS = (int)unix / 3600;
decimal hookTime1 = unix / 60;
decimal hookTime2 = hookTimeS * 60;
decimal hookTimeF = hookTime1 - hookTime2;
decimal hookTimeM = hookTimeF * 60 - (int)hookTimeF * 60;
Debug.Log($"{hookTimeS}时,{(int)hookTimeF}分,{(int)hookTimeM}秒");

        }

记录一下 万一以后用到呢 哈哈

你可能感兴趣的:(unity,unix,unity,c#,unity3d,unix,前端)