unity 根据纪元时间(1970/1/1)转换为DateTime

来源:互联网 发布:网络百家家乐怎样作弊 编辑:程序博客网 时间:2024/06/11 02:04

首先,先说一下怎么根据DateTime获得时间的长整型

public static uint GetLongTime()
    {
        DateTime time197011 = new DateTime(1970, 1, 1);
        DateTime time = DateTime.Now;
        TimeSpan ts = time - time197011;
        TimeZone localZone = TimeZone.CurrentTimeZone;
        TimeSpan off = localZone.GetUtcOffset(time);
        ts -= off;
        return (uint)ts.TotalSeconds;
    }


然后,下面就是根据长整型转DateTime

    public DateTime SystemTime2DateTime()
    {
        DateTime dt197011 = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
        long lsystemTime = long.Parse(GetLongTime() + "0000000");
        TimeSpan toNowTs = new TimeSpan(lsystemTime);
        return dt197011.Add(toNowTs);
    }


根据DateTime输出具体的年月日可以这样做

DateTime dt=SystemTime2DateTime();

Debug.Log(dt.ToString("yyyy/MM/dd HH:mm:ss"));//24小时制//

Debug.Log(dt.ToString("yyyy/MM/dd hh:mm:ss"));//12小时制//


0 0
原创粉丝点击