日期和时间

java中一共6时间有关的类,分别是

  1、java.util.Date

  2、java.sql.Date

  3、java.sql.Time

  4、java.sql.Timestamp

  5、java.util.Calendar

  6、java.text.SimpleDateFormat

  java中的系统时间:自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数,即格林尼治标准时间(GMT)

  在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。

  java.util.Date用来获取当前时间或通过long类型来获取时间、Date之间的大小比较。其有关年月日时分秒之间的方法都已经过期了。储存日期的格式是年月日时分秒

  java.sql.Date是java.util.Date的子类,主要是用在和sql相关的语句中。和java.util.Date之间的区别就是储存日期的格式为年月日,这个是和数据库中的Date类型对应起来的。

  java.sql.Time和java.sql.Timestamp也是java.util.Date的子类,和java.sql.Date一样主要是用在和sql相关的语句中。java.sql.Time储存日期的格式是时分秒,java.sql.Timestamp存储的日期为年月日时分秒纳秒(毫微秒)。

  java.util.Calendar主要用来进行日期时间相关的计算和操作。

  java.text.SimpleDateFormat主要是用来格式化日期。

 

简单的例子:

public class Test {
    public static void main(String[] args) throws IOException {
        java.util.Date utilDate = new java.util.Date();
        utilDate.setTime(1514879878231L);
        System.out.println("utilDate:"+utilDate+"<<<"+utilDate.getTime());
        System.out.println();
        
        java.sql.Date sqlDate = new java.sql.Date(1514879878231L);
        System.out.println("sqlDate:"+sqlDate+"<<<"+sqlDate.getTime());
        System.out.println();
        
        Time t = new Time(1514879878231L);
        System.out.println(t.toString());
        System.out.println();
        
        Timestamp ts = new Timestamp(1514879878231L);
        System.out.println(ts.toString());
        System.out.println();
        
        Calendar calendar = Calendar.getInstance();
        calendar.clear();//清除calendar所带的当前日期信息。
        calendar.setTimeInMillis(1514879878231L);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(sdf.format(calendar.getTime()));
        calendar.set(Calendar.YEAR, 2019);
        System.out.println(sdf.format(calendar.getTime()));
    }
}

执行结果:

utilDate:Tue Jan 02 15:57:58 CST 2018<<<1514879878231


sqlDate:2018-01-02<<<1514879878231


15:57:58


2018-01-02 15:57:58.231


2018-01-02 15:57:58
2019-01-02 15:57:58

 

 

  

  

 

posted @ 2018-01-02 17:21  KyleInJava  阅读(292)  评论(0编辑  收藏  举报