展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

日期时间

  • 简介
# 时区:整个地球分为⼆⼗四时区,每个时区都有⾃⼰的本地时间。为了统⼀起⻅,使⽤⼀个统⼀的时间,称为全球标准时间(UTC, Universal Time Coordinated)。TC与格林尼治平均时(GMT, Greenwich Mean Time,也翻译成:格林威治标准时间)差不多⼀样;CST(北京时间),北京时间,China Standard Time,中国标准时间。在时区划分上,属东⼋区,⽐协调世界时早8⼩时,记为UTC+8
# 时间戳:⾃ 1970 年 1 ⽉ 1 ⽇(08:00:00 GMT)⾄当前时间的总秒数,它也被称为Unix时间戳(Unix Timestamp),⼴泛的运⽤在知识产权保护、 合同签字、 ⾦融帐务、 电⼦报价投
标、 股票交易等⽅⾯
  • Date类常用方法
//返回⾃ 1970 年 1 ⽉ 1 ⽇ 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
long getTime( )

//调⽤此⽅法的Date对象在指定⽇期之后返回true,否则返回false。
boolean after(Date date)

//调⽤此⽅法的Date对象在指定⽇期之前返回true,否则返回false。
boolean before(Date date)
  • 核心类
LocalDate:不包含具体时间的⽇期
LocalTime:不含⽇期的时间
LocalDateTime:包含了⽇期及时间
  • 常用api
LocalDate today = LocalDate.now();
System.out.println("今天⽇期:" + today);
//获取年,⽉,⽇,周⼏
System.out.println("现在是哪年:"+today.getYear());
System.out.println("现在是哪⽉:"+today.getMonth());
System.out.println("现在是哪⽉(数字):"+today.getMonthValue());
System.out.println("现在是⼏号:"+today.getDayOfMonth());
System.out.println("现在是周⼏:"+today.getDayOfWeek());

//加减年份, 加后返回的对象才是修改后的, 旧的依旧是旧的
LocalDate changeDate = today.plusYears(1);
System.out.println("加后是哪年:"+changeDate.getYear());
System.out.println("旧的是哪年:"+today.getYear());

//⽇期⽐较
System.out.println("isAfter: "+changeDate.isAfter(today));

//getYear() int 获取当前⽇期的年份
//getMonth() Month 获取当前⽇期的⽉份对象
//getMonthValue() int 获取当前⽇期是第⼏⽉
//getDayOfWeek() DayOfWeek 表示该对象表示的⽇期是星期⼏
//getDayOfMonth() int 表示该对象表示的⽇期是这个⽉第⼏天
//getDayOfYear() int 表示该对象表示的⽇期是今年第⼏天
//withYear(int year) LocalDate 修改当前对象的年份
//withMonth(int month) LocalDate 修改当前对象的⽉份
//withDayOfMonth(int dayOfMonth) LocalDate 修改当前对象在当⽉的⽇期
//plusYears(long yearsToAdd) LocalDate 当前对象增加指定的年份数
//plusMonths(long monthsToAdd) LocalDate 当前对象增加指定的⽉份数
//plusWeeks(long weeksToAdd) LocalDate 当前对象增加指定的周数
//plusDays(long daysToAdd) LocalDate 当前对象增加指定的天数
//minusYears(long yearsToSubtract) LocalDate 当前对象减去指定的年数
//minusMonths(long monthsToSubtract) LocalDate 当前对象减去注定的⽉数
//minusWeeks(long weeksToSubtract) LocalDate 当前对象减去指定的周数
//minusDays(long daysToSubtract) LocalDate 当前对象减去指定的天数
//compareTo(ChronoLocalDate other) int ⽐较当前对象和other对象在时间上的⼤⼩,返回值如果为正,则当前对象时间较晚,
//isBefore(ChronoLocalDate other) boolean ⽐较当前对象⽇期是否在other对象⽇期之前
//isAfter(ChronoLocalDate other) boolean ⽐较当前对象⽇期是否在other对象⽇期之后
//isEqual(ChronoLocalDate other) boolean ⽐较两个⽇期对象是否相等
  • 日期格式化
LocalDateTime ldt = LocalDateTime.now();
System.out.println(ldt);
// 指定日期格式
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String ldtStr = dtf.format(ldt);
System.out.println(ldtStr);
  • 计算时间差
LocalDateTime today = LocalDateTime.now();
System.out.println(today);
// 指定1个时间
LocalDateTime changeDate = LocalDateTime.of(2020,10,1,10,40,30);
System.out.println(changeDate);
// 计算时间差
Duration duration = Duration.between( today,changeDate);//第⼆个参数减第⼀个参数
System.out.println(duration.toDays());//两个时间差的天数
System.out.println(duration.toHours());//两个时间差的⼩时数
System.out.println(duration.toMinutes());//两个时间差的分钟数
System.out.println(duration.toMillis());//两个时间差的毫秒数
System.out.println(duration.toNanos());//两个时间差的纳秒数
posted @ 2022-05-05 21:07  DogLeftover  阅读(164)  评论(0编辑  收藏  举报