1970年服务器时间的转换

来源:互联网 发布:java处理大数据量计算 编辑:程序博客网 时间:2024/05/08 12:10

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">大家好!最近做游戏开发比较忙,一直没有发表新的东西,今天做聊天的时候遇见一个服务器时间的问题,聊天中用的是1970年时间戳的一个服务器的时间,所以换算的时候和我们平时计算时分秒的时候多少会有一些差别,好了,不废话了,直接上代码吧。</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="csharp">public void test(long t){DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));DateTime dtNow = DateTime.Now;long nowDiff = ((dtNow.Ticks - dtStart.Ticks) / 10000000  - t / 1000) / 60;//long nowDiff = ( t / 1000) / 60;Debug.LogError (nowDiff);if(nowDiff < 0)nowDiff = 0;if(nowDiff > 24 * 60){Debug.LogError( (nowDiff / (24 * 60)).ToString() + "天前");}else if(nowDiff > 60){Debug.LogError((nowDiff / 60).ToString() + "小时前");}else{Debug.LogError( nowDiff.ToString() + "分钟前");}}

这个是表达了就是比如说发消息的时候我们经常看是几分钟之前发的消息,类似于这样的形式,下面在写一种形式直接服务器的时间转换成本地的时间,其实这个问题一直困扰了我一天多,一天的时候都弄这个了,但是今天早上的时候过来仔细的搞了一下,终于让我搞定了,心情豁然开朗啊。

public DateTime method(){DateTime dt = new DateTime (1970, 1, 1, 0, 0, 0, 0);dt = dt.AddMilliseconds (1430706086273);return dt.ToLocalTime ();}
写一个计算服务器时间与现在时间的一个时间差方法

 public string GetTimeDifference(long ServerEndTime)    {        DateTime enddt = new DateTime (1970, 1, 1, 0, 0, 0, 0);        enddt = enddt.AddMilliseconds (ServerEndTime);        DateTime nowdt = DateTime.Now;        DateTime endTime = new DateTime(enddt.ToLocalTime().Year,enddt.ToLocalTime().Month,enddt.ToLocalTime().Day);        DateTime nowTime = new DateTime(nowdt.ToLocalTime().Year,nowdt.ToLocalTime().Month,nowdt.ToLocalTime().Day);        TimeSpan ts = endTime.Subtract(nowTime);        string timespan = ts.Days.ToString() + "天后结束";        return timespan;    }

这个是服务器时间的毫秒,然后转换成本地的时间,希望大家一起努力共同进步啊!



0 0
原创粉丝点击