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);
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);
}
}