您当前的位置: 首页 > 

梁云亮

暂无认证

  • 1浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

第十三章 新特性

梁云亮 发布时间:2022-03-08 09:43:35 ,浏览量:1

13.1 JSR\JCP

JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。

JCP(Java Community Process) 是一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新。

2018年5月17日,作为唯一中国代表,阿里巴巴获邀加入[Java]全球管理组织Java Community Process (JCP)的最高执行委员会JCP-EC。此次获得执行委员会席位,让中国企业首次加入到Java全球标准的制定中,更多“中国标准”有望成为全球规范。该席位将于5月24日生效。

13.2 java版本命名
  • java 1.0

  • java 1.1

  • java 1.2 j2se j2me j2ee java 1.5

  • java 1.6 java 6.0

  • java 7 try with switch String

  • java8

    Locale.setDefault(Locale.CHINA);
    
    // java.util.Date
    LocalDate d = LocalDate.now(ZoneId.of("PRC")); // 当前系统的日期
    System.out.println(d);
    System.out.println(d.getDayOfWeek());
    
    // 建立指定的日期及格式化输出效果
    LocalDate birth = LocalDate.of(1985, 3, 16);
    System.out.println(birth.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日")));
    
    // 将一个字符串,按格式化类规则,直接转化为LocalDate
    LocalDate dd = LocalDate.parse("1985-03-05", DateTimeFormatter.ofPattern("yyyy-MM-dd"));
    
    System.out.println(dd);
    
    System.out.println(dd.isLeapYear());
    
    System.out.println(dd.getDayOfWeek());
    
    // 计算两个日期有多少天
    long days = ChronoUnit.DAYS.between(dd, d);
    System.out.println(days);
    
    LocalTime time = LocalTime.now();
    
    System.out.println(time.format(DateTimeFormatter.ofPattern("HH:mm:ss")));
    
    LocalDateTime now = LocalDateTime.now();
    
    String info = now.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日  HH:mm:ss "));
    System.out.println(info);
    
    //java.util.Date 转换为 java8 LocalDateTime
    Date todayDate = new Date();
    LocalDateTime ldt = todayDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
    System.out.println(ldt.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日  HH:mm:ss ")));
    
    //java8 LocalDateTime 转换为 java.util.Date
    Date date = Date.from( ldt.atZone( ZoneId.systemDefault()).toInstant());
    System.out.println(date);
    
    
    
13.3 Java8 日期时间
Instant         时间戳
Duration        持续时间、时间差
LocalDate       只包含日期,比如:2018-09-24
LocalTime       只包含时间,比如:10:32:10
LocalDateTime   包含日期和时间,比如:2018-09-24 10:32:10
Peroid          时间段
ZoneOffset      时区偏移量,比如:+8:00
ZonedDateTime   带时区的日期时间
Clock           时钟,可用于获取当前时间戳
java.time.format.DateTimeFormatter      时间格式化类
/*
 * Copyright (c) 2006, 2021, webrx.cn All rights reserved.
 *
 */
package cn;

import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.Date;

/**
 * 

Project: part13 - Java80 *

Powered By webrx *

Created By IntelliJ IDEA On 2021-02-02 14:56:13 *

Description : * * @author webrx [webrx@126.com] * @version 1.0 * @since 15 */ public class Java81 { public static void main(String[] args) { //LocalDate LocalDate s1 = LocalDate.of(2021,1,5); LocalDate s2 = LocalDate.now(); System.out.println(s1.until(s2,ChronoUnit.DAYS)); //获取两个日期之间的天数 Period p = Period.between(s1, s2); System.out.println(p.getDays()); System.out.println(Instant.now().toEpochMilli()); System.out.println(System.currentTimeMillis()); System.out.println(new Date().getTime()); long n = new Date(System.currentTimeMillis()).getTime(); System.out.println(n); System.exit(0); //System.out.println(012); //System.out.println(030 < 30); LocalTime now = LocalTime.now(); LocalTime aa = LocalTime.of(16, 3); Duration duration = Duration.between(aa, now); System.out.println(duration.getSeconds()); //判断指定的月日,是不是日期 System.out.println(LocalDate.of(2021, 2, 2).equals(LocalDate.now())); System.out.println(MonthDay.of(2, 2).equals(MonthDay.now())); System.out.println(MonthDay.of(2, 2) == MonthDay.now()); System.out.println(LocalDate.now().minusDays(5).plusDays(10).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); LocalDate a = LocalDate.of(2000, 1, 6); LocalDate b = LocalDate.parse("2021-09-05", DateTimeFormatter.ofPattern("yyyy-MM-dd")); System.out.println(a); System.out.println(b); System.out.println(a.equals(b)); System.out.println(a.plusDays(100)); System.out.println(a.plus(100, ChronoUnit.DAYS)); System.out.println(a.minus(2, ChronoUnit.DAYS)); System.exit(0); LocalDate d = LocalDate.now(); d = LocalDate.of(2023, 2, 2); d = LocalDateTime.now(ZoneId.of("PRC")).toLocalDate(); d = LocalDate.now(ZoneId.of("PRC")); System.out.println(LocalDate.now()); System.out.println(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"))); System.out.printf("%tF %1$tT", LocalDateTime.now()); System.out.println(d.getYear()); Month m = d.getMonth(); System.out.println(m.getValue()); System.out.println(d.getMonth().plus(3).getValue()); System.out.println(d.getMonth().plus(-3).getValue()); System.out.println(d.getMonthValue()); System.out.println(d.getDayOfMonth()); } }

13.4 java12 switch expression
/*
 * Copyright (c) 2006, 2021, webrx.cn All rights reserved.
 *
 */
package cn;


import static cn.exam.Fruit.*;

/**
 * 

Project: part13 - Java10 *

Powered By webrx *

Created By IntelliJ IDEA On 2021-02-04 09:24:54 *

Description : * * @author webrx [webrx@126.com] * @version 1.0 * @since 15 */ public class Java12 { public static void main(String[] args) { var f = PAPAYA; var price = switch (f) { case APPLE,GRAPE -> 5; case ORAGE, MONGO -> 10; default -> 6; }; System.out.println(price); } }

关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0406s