Java longTime 和C#日期转换

封装一下,可直接用。

以后碰到java的long time,直接使用DateTime dt=ConvertJavaDateTimeToNetTime(1207969641193);这样使用即可。

这串日期数字:java长整型日期,毫秒为单位

public static DateTime convertJavaLongtimeToDatetime(long time_JAVA_Long)  
{
    DateTime dt_1970 = new DateTime(1970, 1, 1, 0, 0, 0);        //年月日时分秒
    long tricks_1970 = dt_1970.Ticks;                           //1970年1月1日刻度
    long time_tricks = tricks_1970 + time_JAVA_Long * 10000;    //日志日期刻度
    DateTime dt = new DateTime(time_tricks).AddHours(8);        //+8小时,转化为DateTime
    return dt;
}

  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年的时间,这适合大多数人的时间要求。
     Java中可以用System.currentTimeMillis() 获取当前时间的long形式,它的标示形式是从1970年1月1日起的到当前的毫秒的数。

   C# 日期型数据的长整型值是自 0001 年 1 月 1 日午夜 12:00,以来所经过时间以100 毫微秒为间隔表示时的数字。这个数在 C# 的 DateTime 中被称为Ticks(刻度)。DateTime 类型有一个名为 Ticks 的长整型只读属性,就保存着这个值。
     .NET下计算时间的方式不太一样,它是计算单位是Ticks,这里就需要做一个C#时间转换。关于Ticks,msdn上是这样说的: 
A single tick represents one hundred nanoseconds or one ten-millionth of a second. The value of this property represents the number of 100-nanosecond intervals that have elapsed since 12:00:00 midnight, January 1, 0001. 
就是从公元元年元月1日午夜到指定时间的千万分之一秒了,为了和Java比较,说成万分之一毫秒。

需要注意的是,因为我们在东八区,所以要加8个小时。

参考:

http://blog.csdn.net/dragonpeng2008/article/details/8681435

时间: 2024-10-13 22:44:28

Java longTime 和C#日期转换的相关文章

Java日期格式化之将String类型的GMT,GST日期转换成Date类型

请尊重他人的劳动成果,转载请注明出处:Java日期格式化之将String类型的GMT,GST日期转换成Date类型 http://blog.csdn.net/fengyuzhengfan/article/details/40164721 在实际开发过程中经常会需要将Date类型的数据封装成XML或Json格式在网络上进行传输,另外在将Date类型的数据存到Sqlite数据库中后再取出来的时候只能获取String类型的日期了,这是因为SQLite是无类型的.这样不得不面对将String 类型的日期

Java日期转换SimpleDateFormat格式大全(转)

24小时制时间显示: public class Datetime { public static void main(String args[]){ java.util.Date current=new java.util.Date(); java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String c=sdf.format(current); System.ou

Java中字符串与日期之间的转换

项目过程中,经常遇到需要字符串格式的日期和Date类型的日期之间的相互转换.使用SimpleDateFormat类,可以方便完成想要的转换. SimpleDateFormat能够实现本地化的时间格式化及转换.从选定一个自定义的模式(pattren)开始,模式由已经定义好的 'A' to 'Z' 及 'a' to 'z'字母组成,也可以在模式中引入文本,但要使用’(单括号)括住.下图就是已经定义好的模式字母表: Letter Date or Time Component Presentation

java中json和字符串互转及日期转换 练习

一:以下是用到的jar名称: commons-beanutils-1.6.jar commons-collections-3.2.1.jar commons-lang-2.6.jar commons-logging-1.1.1.jar ezmorph-1.0.3.jar json-lib-2.2.3-jdk13.jar json.jar jar下载地址 链接: https://pan.baidu.com/s/1c2Mkqli 密码: 6ems 二:练习的时候用到了内部类,所以里面有一点对内部类的

日期转换类 DateConverter.java

package com.util; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter; /** * 日期转换类 * */ public class DateConverter extends De

java笔记--String类格式化当天日期转换符文档

String类格式化当天日期 转换符:%tb : 格式化为月份的英文缩写%tB : 格式化为月份的英文全写%ta : 格式化为星期%tA : 格式化为星期%ty : 格式化为两位年份值%tY : 格式化为四位年份值%tm : 格式化为两位月份值%td : 格式化为两位日期值%te : 格式化为星期一位日期值%tH : 格式化为两位24时制小时值(00-23)%tk : 格式化为两位24时制小时值(0-23)%tI : 格式化为两位12时制小时值(01-12)%tl : 格式化为两位12时制小时值

springMvc的日期转换之二

方式一:使用@InitBinder注解实现日期转换 前台页面: 后台打印: 方式二:处理多种日期格式类型之间的转换 采用方式:由于binder.registerCustomEditor(Date.class,需要传一个PropertiesEditor类型的参数); 所以我们可以自定义一个日期格式,继承PropertiesEditor类 package cn.happy.controller; import java.sql.Date; import java.text.ParseExceptio

Struts2中Date日期转换的问题

今天跑程序的时候莫名其妙的出现了下面的一个异常: java.lang.NoSuchMethodException:com.ca.agent.model.mybatis.ApprovalInforCangra.setSubDate([Ljava.lang.String;) 这类异常信息在以前是处理过的,按照以前的思路在eclipse的调试模式下看看具体的情况,不过这次比较奇怪,根本没进入到对应的Action类中就抛出了此异常信息,进一步查找发现,在调用拦截器方法的时候就抛出了此异常信息,还有没有想

Java String和Date的转换 转http://www.cnblogs.com/bmbm/archive/2011/12/06/2342264.html

Java String和Date的转换 String->Date方法一: String dateString = "2012-12-06 "; try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd "); Date date = sdf.parse(dateString); } catch (ParseException e) { System.out.println(e.getMessag