Java与C#时间戳同步
2017-01-20 16:16
627 查看
在Java与C#结合的项目中,经常遇到Java服务器向C#客户端传送时间戳的问题,这里给出一个解决方案:
1.Java服务端生成时间戳整型串:
2.在C#客户端解析服务器传来的时间戳:
注意:最后生成的时间对象需要使用ToLocalTime()处理一下,否则会出现时区误差。
1.Java服务端生成时间戳整型串:
timestamp = System.currentTimeMillis();
2.在C#客户端解析服务器传来的时间戳:
public string timestamp { set { DateTime time = DateTime.Now; //time = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)).AddSeconds(double.Parse(value)); DateTime dt_1970 = new DateTime(1970, 1, 1); long tricks_1970 = dt_1970.Ticks;//1970年1月1日刻度 long time_tricks = tricks_1970 + long.Parse(value) * 10000;//日志日期刻度 time = new DateTime(time_tricks);//转化为DateTime timestampStr = time.ToLocalTime().ToString();//转为本地时区 } get { return timestampStr; } }
注意:最后生成的时间对象需要使用ToLocalTime()处理一下,否则会出现时区误差。