java8 LocalDateTime
在多并发情况下使用SimpleDateFormat需格外注意 :SimpleDateFormat除了format是线程不安全以外,parse方法也是线程不安全的。
LocalDate
只获取年月日
1 2 | LocalDate localDate = LocalDate.now(); //2020-06-01 LocalDate localDate1 = LocalDate.of( 2020 , 01 , 01 ); //2020-01-01 |
获取年、月、日、星期几
1 2 3 4 5 6 7 8 | int year = localDate.getYear(); //2020 int year1 = localDate.get(ChronoField.YEAR); //2020 Month month = localDate.getMonth(); //JUNE int month1 = localDate.get(ChronoField.MONTH_OF_YEAR); //6 int day = localDate.getDayOfMonth(); //1 int day1 = localDate.get(ChronoField.DAY_OF_MONTH); //1 DayOfWeek dayOfWeek = localDate.getDayOfWeek(); //MONDAY int dayOfWeek1 = localDate.get(ChronoField.DAY_OF_WEEK); //1 |
LocalTime
只获取时分秒
1 2 | LocalTime localTime = LocalTime.of( 23 , 11 , 11 ); //23:11:11 LocalTime localTime1 = LocalTime.now(); //23:15:51.710 |
获取时分秒
1 2 3 4 5 6 | int hour = localTime.getHour(); //23 int hour1 = localTime.get(ChronoField.HOUR_OF_DAY); //23 int minute = localTime.getMinute(); //11 int minute1 = localTime.get(ChronoField.MINUTE_OF_HOUR); //11 int second = localTime.getSecond(); //11 int second1 = localTime.get(ChronoField.SECOND_OF_MINUTE); //11 |
LocalDateTime
1 | LocalDateTime localDateTime = LocalDateTime.now(); //2020-06-01T23:23:50.559 |
Instant
获取秒数、获取毫秒数
1 2 3 | Instant instant = Instant.now(); //2020-06-01T15:27:18.608Z long currentSecond = instant.getEpochSecond(); //1591025238 long currentMilli = instant.toEpochMilli(); //1591025238608<br>System.currentTimeMillis(); //1591025406619 |
修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | LocalDate localDate = LocalDate.of( 2020 , 01 , 01 ); //2020-01-01 //增加一年 localDate = localDate .plusYears( 1 ); //2021-01-01 localDate = localDate .plus( 1 , ChronoUnit.YEARS); //2022-01-01 //减少一年 localDate = localDate .minusYears( 1 ); //2021-01-01 localDate = localDate .minus( 1 , ChronoUnit.YEARS); //2020-01-01 //增加一个月 localDate = localDate .plusMonths( 1 ); //2020-02-01 localDate = localDate .plus( 1 , ChronoUnit.MONTHS); //2020-03-01 //减少一个月 localDate = localDate .minusMonths( 1 ); //2020-02-01 localDate = localDate .minus( 1 , ChronoUnit.MONTHS); //2020-01-01 //加一天 localDate = localDate .plusDays( 1 ); //2020-01-02 localDate = localDate .plus( 1 , ChronoUnit.DAYS); //2020-01-03 //减一天 localDate = localDate .minusDays( 1 ); //2020-01-02 localDate = localDate .minus( 1 , ChronoUnit.DAYS); //2020-01-01 |
with修改年、月、日
1 2 3 4 5 6 7 8 9 10 11 12 | //修改年为2030 localDate= localDate.withYear( 2030 ); //2030-01-01 //修改年为2040 localDate= localDate.with(ChronoField.YEAR, 2040 ); //2040-01-01 //修改月为8 localDate= localDate.withMonth( 2030 ); //2040-08-01 //修改月为9 localDate= localDate.with(ChronoField.MONTH_OF_YEAR, 9 ); //2040-09-01 //修改日为7 localDate= localDate.withDayOfMonth( 7 ); //2040-09-07 //修改日为8 localDate= localDate.with(ChronoField.DAY_OF_MONTH, 8 ); //2040-09-08 |
格式化时间
1 2 3 4 5 6 | LocalDate localDate = LocalDate.of( 2019 , 9 , 10 ); //2019-09-10 String s1 = localDate.format(DateTimeFormatter.BASIC_ISO_DATE); //20190910 String s2 = localDate.format(DateTimeFormatter.ISO_LOCAL_DATE); //2019-09-10 //自定义格式化 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern( "dd/MM/yyyy" ); String s3 = localDate.format(dateTimeFormatter); //10/09/2019 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类