C# 与Java 时间互相转换

C# 时间转 Java时间

/// <summary>
        /// 日期转换
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public java.util.Date DateConvert(DateTime date)
        {
            DateTime nTime = date.AddHours(-8);
            long ctime = nTime.Ticks;
            long c1970 = new DateTime(1970,1,1).Ticks;
            long java_ticks = (ctime - c1970)/10000;
            java.util.Date jDate = new java.util.Date(java_ticks);
            return jDate;
        }

Java 时间转C#时间

 JAVA统计从1970年1月1日起的毫秒的数量表示日期。也就是说,例如,1970年1月2日,是在1月1日 后的86,400,000毫秒。同样的,1969年12月31日是在1970年1月1日前86,400,000毫秒。Java的Date类使用long类 型纪录这些毫秒值.因为long是有符号整数,所以日期可以在1970年1月1日之前,也可以在这之后。Long类型表示的最大正值和最大负值可以轻松的 表示290,000,000年的时间,这适合大多数人的时间要求。

        C# 日期型数据的长整型值是自 0001 年 1 月 1 日午夜 12:00,以来所经过时间以100 毫微秒为间隔表示时的数字。这个数在 C# 的 DateTime 中被称为Ticks(刻度)。DateTime 类型有一个名为 Ticks 的长整型只读属性,就保存着这个值。

        将Java的长整型时间转化为C#时间:

        long time_JAVA_Long = 1207969641193;//java长整型日期,毫秒为单位
        DateTime dt_1970 = new DateTime(1970,1,1);
        long tricks_1970 = dt_1970.Ticks;//1970年1月1日刻度
        long time_tricks = tricks_1970 + time_Long*10000;//日志日期刻度
        DateTime dt = new DateTime(time_tricks);//转化为DateTime








阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luckypeng/article/details/46831411
文章标签: date
个人分类: C# JAVA
上一篇C#与Java的比较
下一篇C# 连接 Oracle 的几种方式
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭