美文网首页
Java 中的日期和时间

Java 中的日期和时间

作者: 墨色尘埃 | 来源:发表于2019-10-17 10:57 被阅读0次
    如何取得年 月日、小时分钟秒?
        public static void main(String[] args) {
            Calendar cal = Calendar.getInstance();
            System.out.println(cal.get(Calendar.YEAR));
            System.out.println(cal.get(Calendar.MONTH)); // 0 - 11
            System.out.println(cal.get(Calendar.DATE));
            System.out.println(cal.get(Calendar.HOUR_OF_DAY));
            System.out.println(cal.get(Calendar.MINUTE));
            System.out.println(cal.get(Calendar.SECOND));
            // Java 8
            LocalDateTime dt = LocalDateTime.now();
            System.out.println(dt.getYear());
            System.out.println(dt.getMonthValue()); // 1 - 12
            System.out.println(dt.getDayOfMonth());
            System.out.println(dt.getHour());
            System.out.println(dt.getMinute());
            System.out.println(dt.getSecond());
        }
    
    根据日期生成独立文件夹
            //根据日期生成独立文件夹
            Calendar calendar = Calendar.getInstance();
            int year = calendar.get(Calendar.YEAR);
            int month = calendar.get(Calendar.MONTH) + 1;
            int day = calendar.get(Calendar.DAY_OF_MONTH);
            String dirName = year + (month < 10 ? "0" : "") + month + (day < 10 ? "0" : "") + day;
    
            Date now = new Date();
            java.text.DateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");
            //按照时间来分文件夹
            String filePath = format.format(now);
    
    如何取得从1970年11月11日0时0分0秒到现在的毫秒数 ?
            Calendar.getInstance().getTimeInMillis(); //第一种方式
            System.currentTimeMillis(); //第二种方式
            // Java 8
            Clock.systemDefaultZone().millis();
    
    如何取得某月的第一天 / 最后一天 ?
            DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            //获取当前月第一天:
            Calendar c = Calendar.getInstance();
            c.set(Calendar.DAY_OF_MONTH, 1);//设置为 1 号,当前日期既为本月第一天
            String first = format.format(c.getTime());
            System.out.println("===============first:" + first);
    
            //获取当前月最后一天
            Calendar ca = Calendar.getInstance();
            ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
            String last = format.format(ca.getTime());
            System.out.println("===============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("本月的第一天" + firstday);
            System.out.println("本月的最后一天" + lastDay);
    
    如何格式化日期 ?

    补充:Java 的时间日期 API 一直以来都是被诟病的东西, 为了解决这一问题, Java 8 中引入了新的时间日期 API,
    其中包括 LocalDate、LocalTime、LocalDateTime、Clock、Instant 等类,这些的类的设计都使用了不变模式,因
    此是线程安全的设计。

            SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy/MM/dd");
            Date date1 = new Date();
            String str1 = simpleDateFormat1.format(date1);
            System.out.println(str1);
    
            // Java 8
            DateTimeFormatter simpleDateFormat2 = DateTimeFormatter.ofPattern("yyyy/MM/dd");
            LocalDate date2 = LocalDate.now();
            String str2 = date2.format(simpleDateFormat2);
            System.out.println(str2);
    
    打印昨天的当前时刻?
            Calendar cal = Calendar.getInstance();
            cal.add(Calendar.DATE, -1);
            System.out.println(cal.getTime());
    
            //java 8
            LocalDateTime today = LocalDateTime.now();
            LocalDateTime yesterday = today.minusDays(1);
            System.out.println(yesterday);
    

    相关文章

      网友评论

          本文标题:Java 中的日期和时间

          本文链接:https://www.haomeiwen.com/subject/maglmctx.html