网站首页 > java教程 正文
- 获取当天的日期
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println("今天的时间是 : " + today);
int year = today.getYear();
int month = today.getMonthValue();
int day = today.getDayOfMonth();
System.out.println("Today's Local date : " + today);
System.out.printf("Year : %d; Month : %d; day : %d%n", year, month, day);
}
- 偏移时间
LocalDate today = LocalDate.now();
System.out.println("当前时间往后加一周 " + today.plus(1, ChronoUnit.WEEKS));
System.out.println("当前时间往后加一年: " + today.minus(1, ChronoUnit.YEARS));
- 特定日期
自定义构建时间
LocalDate date1 = LocalDate.of(2014, 01, 14);
- 日期比较
LocalDate tomorrow = LocalDate.of(2014, 1, 15);
if (tommorow.isAfter(today)) {
System.out.println("Tomorrow comes after today");
}
LocalDate yesterday = today.minus(1, DAYS);
if (yesterday.isBefore(today)){
System.out.println("Yesterday is day before today");
}
- 日期间隔计算
LocalDate date = LocalDate.of(2014, Month.MARCH, 14);
Period period = Period.between(date, LocalDate.now());
System.out.println("计算结果 : "+period.getYears() + "年: "+ period.getMonths() + "月: "
+ period.getDays() + "日");
- 月、日信息 -- MonthDay
日期的另一个重要需求就是重复事件,如每年一度的生日、各种纪念日,每月的账单日等等
MonthDay 提供了解决这类问题的方案,它只包含月和日的信息,而不包含年份信息
LocalDate dateOfBirth = LocalDate.of(2010, 01, 14);
MonthDay birthday = MonthDay.of(dateOfBirth.getMonth(), dateOfBirth.getDayOfMonth());
MonthDay currentMonthDay = MonthDay.from(LocalDate.now());
if (currentMonthDay.equals(birthday)) {
System.out.println("生日到了");
} else {
System.out.println("不是生日日");
}
- 时间 -- LocalTime
与 LocalDate 十分类似,获取当前时间信息的是 LocalTime 类,他与 LocalDate 类刚好相反,他只包含时间信息,不包含任何日期相关的信息
LocalTime time = LocalTime.now();
System.out.println("当前时间 : " + time);
System.out.println("1小时后的时间 : " + time.plusHours(1));
- 日期、时间 -- LocalDateTime
LocalDateTime 是 LocalDate 和 LocalTime 结合的日期时间,它的使用与前面介绍的是完全一样的:
LocalDateTime datetime = LocalDateTime.now();
System.out.println("当前日期 : " + datetime);
System.out.println("1小时后的时间 : " + datetime.plusHours(1));
System.out.println("2年前 时间: " + datetime.minusYears(2));
- 时间戳 -- Instant
java8 中,Instant 类用来存储时间戳,可以方便的获取:
Instant timestamp = Instant.now();
System.out.println("当前时间戳 : " + timestamp.getEpochSecond());
System.out.println("System时间戳 : " + System.currentTimeMillis());
- 日期格式
String dayAfterTommorrow = "20140116";
LocalDate formatted = LocalDate.parse(dayAfterTommorrow,
DateTimeFormatter.BASIC_ISO_DATE);
System.out.printf("Date generated from String %s is %s %n",
dayAfterTommorrow, formatted);
自定义日期格式化DateTimeFormatter:
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate holiday = LocalDate.parse(goodFriday, formatter);
System.out.printf(holiday);
} catch (DateTimeParseException ex) {
ex.printStackTrace();
}
- 日期转换
Date date = new Date();
Instant instant = date.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
System.out.println("Date = " + date);
System.out.println("LocalDateTime = " + localDateTime);
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), zoneId);
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.now();
ZonedDateTime zdt = localDateTime.atZone(zoneId);
Date date = Date.from(zdt.toInstant());
给个转发,关注,谢谢
- 上一篇: 时间戳格式转换(时间戳转换工具)
- 下一篇: Linux获取时间速度的故事(linux获取时间戳命令)
猜你喜欢
- 2024-09-19 带有时区的字符怎样转换为时间及Java 8中日期 与 Calendar 转换
- 2024-09-19 MySQL时间戳精度问题引发的血案(mysql时间戳用什么类型)
- 2024-09-19 一文彻底搞懂 CAS 实现原理(cas如何实现)
- 2024-09-19 java8日期处理,收藏起来,工作会用到
- 2024-09-19 java 8 新特性 日期和时间 API(java时间戳转换为日期格式)
- 2024-09-19 java8的时间和`Date`的对比(b/l date是什么时间)
- 2024-09-19 Spark Streaming 从指定时间戳开始消费 kafka 数据
- 2024-09-19 xk-time 1.1.1 发布,Java 时间工具包
- 2024-09-19 必知必会的操作Jmeter(十二)_打印时间戳
- 2024-09-19 JAVA8时间工具类转换(java时间加减)
你 发表评论:
欢迎- 最近发表
-
- class版本不兼容错误原因分析(class更新)
- 甲骨文Oracle公司为Java的最新LTS版本做出改进
- 「版本发布」Minecraft Java开发版 1.19.4-pre1 发布
- java svn版本管理工具(svn软件版本管理)
- 我的世界1.8.10钻石在第几层(我的世界1.7.2钻石在哪层)
- Java开发高手必备:在电脑上轻松切换多个JDK版本
- 2022 年 Java 开发报告:Java 8 八年不到,开发者都在用什么?
- 开发java项目,选择哪个版本的JDK比较合适?
- Java版本选型终极指南:8 vs 17 vs 21特性对决!大龄程序员踩坑总结
- POI Excel导入(poi excel导入附件)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)