Date、Calendar、LocalDateTime、SimpleDateFormat类学习总结

Date类(一代)

Date用于获取当前时间。属于第一代日期类

	Date date = new Date();

	//将系统当前毫秒值转化为Date类型
	Date date = new Date(System.currentTiemMillis);
	//转化为yyyy-MM-dd格式字符串
	String format = new SimpleDateFormat("yyyy-MM-dd").format(date);

SimpleDateFormat 格式化日期

用于String类型、Date类型相互转换

DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//simpleDateFormat.format(Date date),将Date类型参数转换为指定格式
//simpleDateFormat.parse(String str),将String类型参数转换为Date日期格式,格式为Tue Sep 06 15:13:38 CST 2022

在SimpleDateFormat中,被定义的字母会被特殊处理替换成相应的日期格式,其他的字符串会原样输出。

yyyy:年
MM:月
dd:日
hh:1~12小时制(1-12)
HH:24小时制(0-23)
mm:分
ss:秒
S:毫秒
E:星期几
D:一年中的第几天
F:一月中的第几个星期(会把这个月总共过的天数除以7)
w:一年中的第几个星期
W:一月中的第几星期(会根据实际情况来算)
a:上下午标识
k:和HH差不多,表示一天24小时制(1-24)。
K:和hh差不多,表示一天12小时制(0-11)。
z:表示时区

Calendar类(二代)

该类在java util包下,提供不同日期格式的处理。属于第二代日期类

        Calendar calendar = new GregorianCalendar();
	    //Calendar calendar = Calendar.getInstance效果相同
        System.out.println("YEAR = " + calendar.get(Calendar.YEAR));

        // Calendar.YEAR 获取年份
        // Calendar.MONTH 获取当前月份 从0开始,0代表一月,1代表二月,以此类推
        // Calendar.DATE 获取当前日期 也可以使用DAY_OF_MONTH
        // Calendar.HOUR_OF_DAY 获取当前时 24小时进制
        // Calendar.MINUTE 获取当前分
        // Calendar.SECOND 获取当前秒
        // Calendar.WEEK_OF_MONTH 获取今天是这个月的第几个星期
        // Calendar.DAY_OF_WEEK 获取今天是星期几  1表示星期天,2表示星期一,以此类推

        //----------有参构造----------
        //有参构造(年月日 时分秒),月份从0开始
        Calendar calendar1 = new GregorianCalendar(2022,8,6,14,44,52);

        //根据set方法设置参数
        calendar1.set(Calendar.YEAR,2020);

        //----------Calendar与Date相互转换----------
        Date now = calendar.getTime();
        calendar.setTime(now);

        //----------Calendar日期计算以及判断----------
        //判断是否在calendar1之后(前)
        calendar.after(calendar1);
        calendar.before(calendar1);
        //增加年份 月日时分秒同理
        calendar.add(Calendar.YEAR,-10);

LocalDateTime(三代)

JDK8加入LocalDate(日期/年月日)、LocalTime(时间/时分秒)、LocalDateTime(日期时间/年月日时分秒),属于第三代日期类。
Calendar类被弃用。

        //获取当前时间,LocalDate,LocalTime用法一样
        LocalDateTime dateTime = LocalDateTime.now();
        //使用DateTimeFormatter 对象来进行格式化
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        //方式一
        String format = dateTimeFormatter.format(dateTime);
        //方式二
        String format2 = dateTime.format(dateTimeFormatter);
        
        
        System.out.println("年=" + dateTime.getYear());
        System.out.println("月=" + dateTime.getMonth());
        System.out.println("月=" + dateTime.getMonthValue());
        System.out.println("日=" + dateTime.getDayOfMonth());
        System.out.println("时=" + dateTime.getHour());
        System.out.println("分=" + dateTime.getMinute());
        System.out.println("秒=" + dateTime.getSecond());
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值