zoukankan      html  css  js  c++  java
  • Java 8 时间日期

    啦啦啦

    package lime.java1_8.time;
    
    
    import java.time.*;
    import java.time.format.DateTimeFormatter;
    import java.time.temporal.TemporalAdjusters;
    import java.util.Date;
    
    /**
     * @Author liangmy
     * @Date 2018/7/16
     */
    public class Localdatetime {
        public static void main(String[] args) {
            // 取当前日期:
            LocalDate today = LocalDate.now();
            System.out.println(today);
            // 根据年月日取日期,12月就是12:
            LocalDate crischristmas = LocalDate.of(2018, 07, 16);
            System.out.println(crischristmas);
            // 根据字符串取:
            LocalDate endOfFeb = LocalDate.parse("2018-07-16");
            System.out.println(endOfFeb);
            // 取本月第1天:
            LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth());
            System.out.println(firstDayOfThisMonth);
            // 取本月第2天:
            LocalDate secondDayOfThisMonth = today.withDayOfMonth(2);
            System.out.println(secondDayOfThisMonth);
            // 取本月最后一天,再也不用计算是28,29,30还是31:
            LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth());
            System.out.println(lastDayOfThisMonth);
            // 取下一天:
            LocalDate firstDayOf2018 = lastDayOfThisMonth.plusDays(1);
            System.out.println(firstDayOf2018);
            // 取2018年1月第一个周一,这个计算用Calendar要死掉很多脑细胞:
            LocalDate firstMondayOf2018 = today.withMonth(1).with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY));
            System.out.println(firstMondayOf2018);
    
            //LocalTime包含毫秒:
            LocalTime now = LocalTime.now();
            System.out.println(now);
            //清除毫秒数:
            LocalTime nowWithNano0 = LocalTime.now().withNano(0);
            System.out.println(nowWithNano0);
            //构造时间:
            LocalTime zeroHM = LocalTime.of(0,0);
            System.out.println(zeroHM);
            LocalTime zeroHMS = LocalTime.of(0, 0, 0);
            System.out.println(zeroHMS);
            LocalTime zeroHMSN = LocalTime.of(0, 0, 0, 0);
            System.out.println(zeroHMSN);
            LocalTime midHMStr = LocalTime.parse("12:00");
            System.out.println(midHMStr);
            LocalTime midHMSStr = LocalTime.parse("12:00:00");
            System.out.println(midHMSStr);
    
            //创建一个LocatDateTime实例
            LocalDateTime localDateTimeNow = LocalDateTime.now();
            System.out.println(localDateTimeNow);
            LocalDateTime localDateTimeOf = LocalDateTime.of(2018,1, 1, 00, 00, 00, 12);
            System.out.println(localDateTimeOf);
    
            //Instant : 时间戳
            //默认使用 UTC 时区
            Instant insNow = Instant.now(); 
            System.out.println(insNow);
    
            OffsetDateTime insUTC8 = insNow.atOffset(ZoneOffset.ofHours(8));
            System.out.println(insUTC8);
    
            System.out.println(insNow.getNano());
    
            // 获取 UTC时区1970年1月1日午夜时分 之后 5 秒的 时间戳
            Instant ofEpochSecond = Instant.ofEpochSecond(5);
            System.out.println(ofEpochSecond);
    
            //Duration:用于计算两个“时间”间隔
            //Period:用于计算两个“日期”间隔
    
            LocalTime startTime = LocalTime.now();
            LocalTime endTime = startTime.plusHours(1).plusMinutes(2).plusSeconds(3).plusNanos(4);
            Duration duration = Duration.between(startTime, endTime);
            System.out.println(duration);
            System.out.println(duration.getUnits());
            System.out.println(duration.getSeconds());
            System.out.println(duration.getNano());
    
            LocalDate startDay = LocalDate.now();
            LocalDate endDay = startDay.plusYears(1).plusMonths(2).plusDays(3).plusWeeks(4);
            Period period = Period.between(startDay, endDay);
            System.out.println(period);
            System.out.println(period.getYears());
            System.out.println(period.getMonths());
            System.out.println(period.getDays());
            System.out.println(period.getUnits());
            System.out.println(period.getChronology());
    
            //TemporalAdjuster :时间校正器
    
            LocalDate with = today.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
            System.out.println(with);
    
            //DateTimeFormatter
            //预定义的标准格式
            //语言环境相关的格式
            //自定义的格式
            DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss E");
            String localDateTime = LocalDateTime.now().format(dateTimeFormatter);
            System.out.println(localDateTime);
    
            //时区的处理
            //ZonedDate、 ZonedTime、 ZonedDateTime
            //其中每个时区都对应着 ID,地区ID都为 “{区域}/{城市}”的格式 Asia/Shanghai
            //ZoneId:该类中包含了所有的时区信息
            //getAvailableZoneIds() : 可以获取所有时区时区信息
            //of(id) : 用指定的时区信息获取 ZoneId 对象
            LocalDateTime zoneAsiaShanghai = LocalDateTime.now(ZoneId.of("Asia/Shanghai"));
            System.out.println(zoneAsiaShanghai);
            LocalDateTime zoneSystemDefault = LocalDateTime.now(ZoneId.systemDefault());
            System.out.println(zoneSystemDefault);
    
            //from(Instant instant)
            //toInstant()
    
            // Long - Instant
            Instant instant = Instant.ofEpochMilli(System.currentTimeMillis());
            System.out.println(instant);
    
            //Instant - Long
            Long timestamp = Instant.now().toEpochMilli();
            System.out.println(timestamp);
    
            // Date - LocalDateTime
            LocalDateTime date2LocalDateTime = LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault());
            System.out.println(date2LocalDateTime);
    
            // Date - LocalDate
            LocalDate date2LocalDate = date2LocalDateTime.toLocalDate();
            System.out.println(date2LocalDate);
    
            // Date - LocalTime
            LocalTime date2LocalTime = date2LocalDateTime.toLocalTime();
            System.out.println(date2LocalTime);
    
            // LocalDateTime - Date
            Date localDateTime2Date = Date.from(date2LocalDateTime.toInstant(ZoneOffset.ofHours(8)));
            System.out.println(localDateTime2Date);
    
            // LocalDate - Date
            Date localDate2Date = Date.from(date2LocalDate.atStartOfDay().toInstant(ZoneOffset.ofHours(8)));
            System.out.println(localDate2Date);
    
            // LocalTime - Date
            Date localTime2Date = Date.from(LocalDateTime.of(LocalDate.now(), date2LocalTime).toInstant(ZoneOffset.ofHours(8)));
            System.out.println(localTime2Date);
    
    
        }
    }

    啦啦啦

  • 相关阅读:
    could not detect mdm peripheral on hardware
    学习zynq的一些感受
    sdk添加新的C文件编译出错
    linux下驱动webcam
    转:fatal error: SDL/SDL.h: No such file or directory
    转:Unknown module(s) in QT: multimedia
    HFSS设计导入AD中
    REST(Representational state transfer)的四个级别以及HATEOAS介绍
    Servlet CDI Example Analysis
    Introduction and use of Cookie and Session(Cookie&Session的介绍和使用)
  • 原文地址:https://www.cnblogs.com/ClassNotFoundException/p/9319132.html
Copyright © 2011-2022 走看看