Java中时间日期的计算及相互转换

Java中表示时间日期的主要是Date和Calendar两个类,以及Date与String转换用到的SimpleDateFormat类。

  • 0x00:Date与long类型之间的转换
      Java内部使用UTC时间,保存距1970年01月01日00时00分00秒以来所经历的毫秒值,使用的是long类型。
      //需要导入java.util包里的Date类
      import java.util.Date;
      
      long millis = 0;
      Date date = new Date();
      //将date转为millis
      millis = date.getTime();
      //将millis转为date
      date = setTime(millis);
  • 0x01:Date与String类型之间的转换
      Date类型的格式输出和格式输入需要使用到SimpleDateFormat类
      import java.text.ParseException;
      import java.text.SimpleDateFormat;
      import java.util.Date;
      
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      
      //Date按sdf指定的格式转换为String,使用sdf的format方法
      Date date = new Date();
      String str = sdf.format(date);
      
      //String转Date,使用parse方法,需要进行异常处理
      str = "2014-11-21 10:47:28";
      try {
        date = sdf.parse(str);
      } catch (ParseException e) {
        e.printStackTrace();
      }
  • 0x02:Date与Calendar之间的转换
      Date中大部分方法都过时不用了,日期计算主要使用Calendar。
      import java.util.Calendar;
      import java.util.Date;
      
      //Calendar是抽象类,不能直接实例化,可以通过其静态方法getInstance返回一个子类的对象。
      Calendar calendar = Calendar.getInstance();
      
      //使用getTime方法,将Calendar转换为Date
      Date date = calendar.getTime();
      
      //使用setTime方法,将Date转换为Calendar
      calendar.setTime(date);
posted @ 2014-11-22 17:00  清平乐(Tutuu)  阅读(426)  评论(0编辑  收藏  举报