Java与C#时间戳同步

在Java与C#结合的项目中,经常遇到Java服务器向C#客户端传送时间戳的问题,这里给出一个解决方案:

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()处理一下,否则会出现时区误差。



你可能感兴趣的:(Java体系,MS体系,java,c#,timestamp,时间戳)