11.常用类API
1. 日期:
1.1 Java.util.Date: 通用的日期类,基本被淘汰了
- getYear(); 1900年到现在的年数
- getMonth(); 月从0-11.国外的历法
- getDate() ; 日
- getHours(): 时
- getMinutes(): 分
- getSeconds(); 秒
- getDay(); 星期: 范围0-6。 星期日是0
- getTime(); 获取1970-1-1凌晨到现在的毫秒数
Date d1 = new Date();
System.out.println(d1);
System.out.println(d1.getYear()); // 年 121 + 1900-1-1年开始算
System.out.println(d1.getMonth()); // 月 2 + 国外的历法: 从0 开始的
int a = d1.getDate(); // 日 17
System.out.println(a);
System.out.println(d1.getHours()); // 时
System.out.println(d1.getMinutes()); // 分
System.out.println(d1.getSeconds()); // 秒
System.out.println(d1.getTime()); // 1615960975125 毫秒数:2021 - 51 = 1970-1-1凌晨到现在的毫秒数
System.out.println(d1.getDay()); // 星期日==0
abc();
System.out.println(1615960975125L / 3600 / 24 /365 / 1000.0);
1.2 Java.time包
java.time.LocalDate; 本地化的年月日
java.time.LocalTime; 本地化的时间 时分秒,毫秒
java.time.LocalDateTime: 本地化的年月日时分秒
- get**: 获取相关的 数据。。
- plus**: 加法操作
- format: 格式化日期
DateTimeFormatter: 日期格式化类: yyyy-MM-dd HH:mm:ss.SSS
模式
- parse(str) : 把字符串转化 Local****
// Local 获取本地的时间 JDK8的
// 生日,入职时间,结课时间
LocalDate date = LocalDate.now();
System.out.println(LocalDate.now()); // 年月日
System.out.println(date.getYear());
System.out.println(date.getMonthValue()); // 1-12
System.out.println(date.getDayOfMonth());
System.out.println(date.getDayOfWeek().getValue()); // 1-7
// 时分秒毫秒, 营业时间
LocalTime time = LocalTime.now();
System.out.println(time);
System.out.println(time.getHour());
System.out.println(time.getMinute());
System.out.println(time.getSecond());
System.out.println(time.getNano());
LocalDateTime datetime = LocalDateTime.now();
// 全有了
System.out.println(datetime);
// 模式: yyyy-MM-dd HH:mm:ss.SSS DateTimeFormatter
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
System.out.println(datetime.format(dtf));
// 设置时间
LocalDateTime datetime11 = LocalDateTime.of(2021, 2, 1, 12, 13, 15);
System.out.println(datetime11);
// 加法操作
LocalDateTime ldt = datetime.plusDays(-1);
System.out.println(datetime);
System.out.println(ldt);
1.3 java.util.Calendar: 日历类 。 jdk1.8之前用
-
get(常量): 根据常量的不同获取不同的值。 1) 月份0-11 2)星期 1-7
-
getTIme() / setTime(); 用于 java.util.Date和 Calendar的相互转换
-
set(常量, 值); 根据常量,设置值
-
add(常量, 值): 根据常量 加 东西
SImpleDateFormat: 用于 字符串 与 java.util.Date转换
// 实例化
Calendar c = Calendar.getInstance();
// get(常量) 获取不同的值
System.out.println(c.get(Calendar.YEAR)); // 获取年
System.out.println(c.get(Calendar.MONTH)); // 获取月 0-11
System.out.println(c.get(Calendar.DATE)); // 获取日
System.out.println(c.get(Calendar.HOUR));
System.out.println(c.get(Calendar.HOUR_OF_DAY)); // 一天中第几个小时
System.out.println(c.get(Calendar.MINUTE));
System.out.println(c.get(Calendar.SECOND));
System.out.println(c.get(Calendar.DAY_OF_WEEK)); // 周中的日 1-7 周日==1
Date d = c.getTime(); // 用于 Date与 Calendar的转换
c.setTime(new Date()); //
// 专用于java.util。Date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
// set(常量, 值);
c.set(Calendar.YEAR, 2022);
// 按pattern格式化
String str = sdf.format(c.getTime());
System.out.println(str);
System.out.println(c);
// add(常量, 值);
c.add(Calendar.YEAR, 1);
System.out.println(sdf.format(c.getTime()));