java 时间类型转换运用实例

来源:互联网 发布:网络禁书40本打包下载 编辑:程序博客网 时间:2024/06/05 14:38

工作时遇到一些时间转换的问题 现在总结记录以便查阅

时间类的标准     GMT 1970 1 1 00:00         UTC   0

java中基本的时间表示 GMT


java的时间类有 :Date 和Calendar

本质为: long+操作    默认值:当前系统时间


 long  Date  Calendar相互转换


 long now =System.currentTimeMillis(); //从格林威治时间到当前系统时间的毫秒数    例如 输出1500883641129

 Date date=new Date();//默认系统当前时间  例如 输出 Mon Jul 24 16:07:21 CST 2017

 Calendar cal =new GregorianCalendar();//默认当前系统时间 


只写出部分方法 (如有更细致的服务需求可以自行查看api    下载地址http://download.csdn.net/detail/docuxu/9908841)

 long to Date Calendar

转换为Date类型只需要在建立对象时输入long类型的参数即可   Date date =new Date(1500883641129L)一定记得参数是Long类型  编译器默认int类型 超出范围或者可以使用set方法     date.setTime(1500883641129L)   

转换为Calendar使用set方法    cal.setTimeInMillis(1500883641129L);


Date to long  Calendar

转换为long类型

date.getTime()   例如  输出1500883641129

 int year=date.getYear()+1900;  //获取当前年份  因为千年虫问题  所以底层的方法有所变动
 int month=date.getMonth()+1;  //获取当前的月份

转换为Calendar类型

cal.setTime(date);


Calendar to long Date

转换为long类型

cal.getTimeInMillis()

转换为Date类型

cal.getTime();

另外GregorianCalendar()为格力高历  构造函数可以自行查阅api  (下载地址 http://download.csdn.net/detail/docuxu/9908841


还有经常使用的时间格式的代码在这里一并记录

   本记录使用同一时间

  Date date=new Date();// Mon Jul 24 16:07:21 CST 2017

  String str="yyyy-MM-dd HH:mm:ss";   HH表示24小时制  hh12小时制
  SimpleDateFormat sdf=new SimpleDateFormat(str);
  String str1=sdf.format(date);//Date to String
  System.out.println(str1);//输出 2017-07-24 16:07:21


  String str2="2012-12-12 12:12:12";
  Date date1=sdf.parse(str2);// String to Date 需要抛出转换异常
  System.out.println(date1);//输出 Wed Dec 12 12:12:12 CST 2012












原创粉丝点击