Date类的常用方法以及Date类和相关类型的转化-java(8)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/babybabyup/article/details/84586490

最近在写和时间有关的代码时,发现是时候复习一下java中Date类的一些经常用到的方法。

正文

Date类在util包中。

  • 当我们需要一个简单的Date对象时,可以用Date类
  • 要取出具体年份、月份等等用Calendar类比较好
  • 其他还涉及到相关类型转化是会使用到SimpleDateFormatTimestamp

构造方法

构造方法有两个,无参和有参

  • 无参构造方法
    获取当前时间对象
Date date = new Date();
  • 有参构造方法
    自定义时间戳来获得时间对象
Date date1 = new Date(1543543174478L);

常用方法

  • 先后比较

boolean before(Date when)

System.out.println(date.before(date1));

boolean after(Date when)

System.out.println(date.after(date1));
  • 获得当前时间的毫秒数
 System.out.println("date.getTime is"+date.getTime());

Calendar类

方便的获得具体的年份、月份等等。
Calendar是一个抽象类,不能通过new来创建对象,但是其提供了一个静态重载方法构建对象。

        Calendar calendar1 = Calendar.getInstance();
        Calendar calendar2 = Calendar.getInstance(TimeZone.getDefault());
        Calendar calendar3 = Calendar.getInstance(Locale.getDefault());
        Calendar calendar4 = Calendar.getInstance(TimeZone.getDefault(), Locale.getDefault());

获取年、月,日

        System.out.println("年份: "+calendar1.get(Calendar.YEAR));
        System.out.println("月份: "+(calendar1.get(Calendar.MONTH)+1));
        System.out.println("日: "+calendar1.get(Calendar.DAY_OF_MONTH));

运行结果为
在这里插入图片描述

与其他类型转化

TimeStamp类

当数据库字段类型为datetime时,就要用到TimeStamp类了。

Timestamp timestamp = new Timestamp(date.getTime());
System.out.println(timestamp);

SimpleDateFormat

可以对时间进行格式化,转化为我们想要格式的字符串。

  • 时间转字符串

常用的格式代码

扫描二维码关注公众号,回复: 4604731 查看本文章
格式代码 含义
y
M
d
H 24小时制时
h 12小时制时
m 分钟
s
E 星期
D 一年中的第几天
w 一年中的第几个星期
W 一个月中的第几个星期

例如:

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss E");
        String dateFormat = simpleDateFormat.format(date);
        System.out.println(dateFormat);

输出为:

  • 字符串转时间
    具体用到了Date parse(String time)
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time = "2018-11-30 10:00:00";
        System.out.println(simpleDateFormat.parse(time));

输出结果为:

猜你喜欢

转载自blog.csdn.net/babybabyup/article/details/84586490