小白篇:JDK8的日期处理API-必知必备
副问题[/!--empirenews.page--]
public static Instant now() public static Instant now(Clock clock) //按照毫秒天生Instant public static Instant ofEpochMilli(long epochMilli) //按照秒天生Instant,外附加纳秒单元的数值 public static Instant ofEpochSecond(long epochSecond, long nanoAdjustment) //text的名目:2021-01-04T06:37:53.743Z public static Instant parse(CharSequence text) //计较与Temporal相隔的时刻差,以TemporalUnit为单元怀抱 public long until(Temporal endExclusive, TemporalUnit unit) 时刻戳的建设 Instant instant = Instant.now(); System.out.println(instant); instant = Instant.now(Clock.systemDefaultZone()); System.out.println(instant); //和Date的彼此转换 instant = Instant.ofEpochMilli(new Date().getTime()); System.out.println(instant); //按照字符串天生时刻,支持到纳秒级别 instant = Instant.parse("1995-10-23T10:12:35.999999999Z"); System.out.println(instant); //按照秒和毛病的纳秒 建设时刻戳 Instant preInstant = Instant.ofEpochSecond(1609741558,1); //已往时刻和当前时刻的相差值,可以指定单元TemporalUnit System.out.println(preInstant.until(Instant.now(), ChronoUnit.MINUTES)); ---------------输出功效------------------------ 2021-01-04T06:37:53.743Z 2021-01-04T06:37:53.795Z 2021-01-04T06:37:53.795Z 1995-10-23T10:12:35.999999999Z 2021-01-04T06:25:58.000000001Z 2021-01-04T06:37:53.798Z 11 Instant的行使 Instant instant = Instant.now(); //配置时区为America/El_Salvador(美国) ZonedDateTime zonedDateTime = instant.atZone(ZoneId.of("America/El_Salvador")); System.out.println(zonedDateTime); //配置时区为偏移-6的时区(美国) OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(-6)); System.out.println(offsetDateTime); //天数加2,分钟数减1。月数设定为12月 Instant fixInstant = instant.minus(1, ChronoUnit.MINUTES) .plus(2, ChronoUnit.DAYS); System.out.println(instant); System.out.println(fixInstant); ---------------输出功效----------------- 2021-01-04T00:53:01.895-06:00[America/El_Salvador] 2021-01-04T00:53:01.895-06:00 2021-01-04T06:53:01.895Z 2021-01-06T06:52:01.895Z LocalTime LocalTime是用来操纵时分秒的类,外加准确到纳秒级别;无时区观念,转Instant必要先配置时区 LocalTime的结构要领 public static LocalTime now() public static LocalTime of(int hour, int minute, int second, int nanoOfSecond) //间隔破晓的秒数 public static LocalTime ofSecondOfDay(long secondOfDay) //间隔破晓的纳秒数 public static LocalTime ofNanoOfDay(long nanoOfDay) public static LocalTime parse(CharSequence text, DateTimeFormatter formatter) //jdk9 public static LocalTime ofInstant(Instant instant, ZoneId zone) LocalTime与其他时刻类的转换 public LocalDateTime atDate(LocalDate date) public OffsetTime atOffset(ZoneOffset offset) public long toEpochSecond(LocalDate date, ZoneOffset offset) LocalTime建设示例 // 1的单元是纳秒 LocalTime localTime = LocalTime.of(12, 12, 12, 1); System.out.println(localTime); localTime = LocalTime.ofSecondOfDay(60 * 60 * 12 + 60 * 12); System.out.println(localTime); localTime = LocalTime.parse("12:12:12", DateTimeFormatter.ISO_TIME); System.out.println(localTime); ---------------输出功效----------------- 12:12:12.000000001 12:12 12:12:12 LocalTime的常用处理赏罚要领 LocalTime localTime = LocalTime.of(12, 12, 12, 1); System.out.println(localTime); //拼接日期,天生日期时刻 LocalDateTime dateTime = localTime.atDate(LocalDate.now()); System.out.println(dateTime); //设按时区,时刻量稳固 OffsetTime offsetTime = LocalTime.now().atOffset(ZoneOffset.ofHours(-6)); System.out.println(offsetTime); //当前时刻加日期,并配置时区为offset long seconds = LocalTime.now().toEpochSecond(LocalDate.now(), ZoneOffset.ofHours(-6)); System.out.println(seconds); ---------------输出功效----------------- 12:12:12.000000001 2021-01-04T12:12:12.000000001 16:29:33.917387700-06:00 1609799373 LocalDate LocalDate是用来操纵年代日的类;暗示的时刻单元是截至到日,不包罗小时及后头的单元 public static LocalDate now() (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |