最近项目需要与Java通讯,结果发现Java传过来的时间值的计算有问题,因为Java的Date类是UTC时间且以1970-1-1开始算,所以将转换方法归纳如下:
1、将C#的DateTime转换为long值传给Java
long value = (long)time.ToUniversalTime().Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
2、将Java传的long值转换为C#的DateTime
new DateTime(1970, 1, 1)).AddSeconds(value).ToLocalTime();
|