Java LocalTime和C# DateTime的转换
2017-03-01 00:00
369 查看
摘要: java RPC服务中的localTime转换为long之后,C#没有直接转换的方法,这时候只能自己动手了.
java RPC服务中的localTime转换为long之后,C#没有直接转换的方法,这时候只能自己动手了.
做了几个数据实验了一下localTime转换出的long,其实就是3600*10^9小时+60*10^9分钟+ 10^9*秒+10^6*毫秒这样的格式.那么换算起来就很简单了.
当然要注意精度问题.LocalTime精度到纳秒(10^-9),而DateTime只支持到毫秒.
废话不说看代码
java RPC服务中的localTime转换为long之后,C#没有直接转换的方法,这时候只能自己动手了.
做了几个数据实验了一下localTime转换出的long,其实就是3600*10^9小时+60*10^9分钟+ 10^9*秒+10^6*毫秒这样的格式.那么换算起来就很简单了.
当然要注意精度问题.LocalTime精度到纳秒(10^-9),而DateTime只支持到毫秒.
废话不说看代码
//从C#的DateTime转化为LocalTime的long public static long ToJavaLocalTimeLong(DateTime time) { return time.Millisecond * 1000000L + time.Second * 1000000000L + time.Minute * 60000000000L + time.Hour * 3600000000000L; } //从LocalTime的Long转化为C#的DateTime public static DateTime FromJavaLocalTimeLong(long time) { if (time < 1000000) return new DateTime(2000, 1, 1, 0, 0, 0); if (time > 86399999000000) throw new Exception("时间值过大,超过23点59分59秒999,无法转换"); long lastTime = time; int hour = Convert.ToInt32(lastTime / 3600000000000); lastTime -= (long)hour * 3600000000000L; int minute = Convert.ToInt32(lastTime / 60000000000); lastTime -= (long)minute * 60000000000L; int second = Convert.ToInt32(lastTime / 1000000000); lastTime -= (long)second * 1000000000L; int msecound = Convert.ToInt32(lastTime / 1000000); return new DateTime(2000, 1, 1, hour, minute, second, msecound); }
相关文章推荐
- java的System.currentTimeMillis()如何转换成C#的DateTime.Now.Ticks?
- Java中系统时间与C#DateTime对象之间转换方法
- java的System.currentTimeMillis()如何转换成C#的DateTime.Now.Ticks?
- java的Date.getTime()转换成C#的Datetime.ticks
- C# DateTime 类型与 Javascript Date 类型的相互转换
- java ArrayList toArray 由ArrayList 到 对象 数组 的转换 同C#
- C#中将DateTime类型转换成Byte数组
- Java的长整型时间表示法转换为C#的时间问题
- 将天文数字转换成中文大写(.Net/C#/VB/T-SQL/Java 实现)
- 在java中实现日期类型和字符串类型的转换_所有(Date String Timestamp Datetime)
- java与C#字符串转换成日期处理比较
- 转 .Net/C#/VB/T-SQL/Java/Script 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)
- C# DateTime ToString 时间转换详解
- .Net/C#/VB/T-SQL/Java/Script 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)
- C#和Java的代码转换工具(开源)CSharpJavaMerger Framework
- String和datetime在SQL中和在C#中相互转换方法总结
- 在java中实现日期类型和字符串类型的转换大全(Date String Timestamp Datetime)
- java的Date类型转换成MySQL的DateTime类型
- C# 字符串 与 DateTime的转换
- MySQL date/time 不能转换为 System.DateTime的问题[VS2005(C#)+mysql]