java对日期的常用操作

public static void main(String[] args) {

        System.out.println("************************获取年月日时分秒************************");
        //1、获取年月日时分秒(两种方式)
        Calendar cal = Calendar.getInstance();
        System.out.println("Calendar:" + cal.get(Calendar.YEAR) + "年" +
                        //month:0~11
                cal.get(Calendar.MONTH) + "月" +
                cal.get(Calendar.DATE) + "日" +
                cal.get(Calendar.HOUR_OF_DAY) + "时" +
                cal.get(Calendar.MINUTE) + "分" +
                cal.get(Calendar.SECOND) + "秒"
                );

        //Java 8
        LocalDateTime ldt = LocalDateTime.now();
        System.out.println("LocalDateTime:" + ldt.getYear() + "年"
                //month:1~12
                + ldt.getMonthValue()+"月"
                + ldt.getDayOfMonth() + "日"
                + ldt.getHour()+ "时"
                + ldt.getMinute()+ "分"
                + ldt.getSecond()+ "秒"

        );
        System.out.println("************************2、获取时间戳************************");

        //获取时间戳(三种方式)
        System.out.println(System.currentTimeMillis());
        System.out.println(Calendar.getInstance().getTimeInMillis());
        //java 8
        System.out.println(Clock.systemDefaultZone().millis());
        Instant now = Instant.now();
        System.out.println(now.toEpochMilli());

        System.out.println("***********************3、获取某月最后一天************************");
        //获取某月最后一天(2种方式)
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        //获取当前月第一天
        cal.add(Calendar.MONTH,0);
        //设置为1号
        cal.set(Calendar.DAY_OF_MONTH,1);
        String first = format.format(cal.getTime());
        //最后一天
        cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
        String last = format.format(cal.getTime());
        System.out.println("Calendar----first:" + first +"   last:"+last);

        //java 8
        LocalDate today = LocalDate.now();
        LocalDate firstDay = LocalDate.of(today.getYear(),today.getMonth(),1);
        LocalDate lastDay = today.with(TemporalAdjusters.lastDayOfMonth());
        System.out.println("LocalDate----first:" + firstDay +"   last:"+lastDay);

        System.out.println("***********************4、格式化日期************************");
        //1.Java.text.DataFormat的子类SimpleDateFormat
        //2.java.time.format.DateTimeFormatter
        Date date = new Date();
        System.out.println("SimpleDateFormat----:" + format.format(date));

        //java 8
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
        System.out.println("DateTimeFormatter----:" + ldt.format(dtf));

        System.out.println("***********************5、获取昨日的当前时刻************************");
        cal.add(Calendar.DATE,-1);
        System.out.println("Calendar----Yesterday:" + format.format(cal.getTime()));
        //java 8
        LocalDateTime ldt2 = ldt.minusDays(1);
        System.out.println("LocalDateTime----Yesterday:" +ldt2.format(dtf));

        //计算程序运行时间差
        Instant start = Instant.now();
        //
        Instant end = Instant.now();
        //计算时间差 采用Duration来处理时间戳的差
        Duration timeElapsed = Duration.between(start, end);
        long millis = timeElapsed.toMillis();
        System.out.println("millis = " + millis);

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值