JDK8 日期时间相关 java.time.*
LocalDateTime, LocalTime,LocalDate 区别
LocalDate:不包含具体时间的日期 2022-04-15
LocalTime:不含日期的时间 16:11:45.864
LocalDateTime:包含了日期及时间 2022-04-15T16:11:18.292
scala>
import java.time.{LocalDateTime, LocalTime,LocalDate,Duration, Instant}scala> LocalDate.now()
val res3: java.time.LocalDate = 2022-04-15scala> LocalDateTime.now()
val res6: java.time.LocalDateTime = 2022-04-15T16:11:18.292scala> LocalTime.now()
val res9: java.time.LocalTime = 16:11:45.864scala> Instant.now()
val res11: java.time.Instant = 2022-04-15T08:11:53.730Z
LocalDateTime
scala> val nowDateTime = LocalDateTime.now()
val nowDateTime: java.time.LocalDateTime = 2022-04-15T16:26:23.701
LocalDateTime.now().get
- 得到年月日(本年、本月、本周)
scala> nowDateTime.getYear
val res64: Int = 2022scala> nowDateTime.getMonth()
val res67: java.time.Month = APRILscala> nowDateTime.getMonthValue()
val res69: Int = 4scala> nowDateTime.getDayOf
getDayOfMonth() getDayOfWeek() getDayOfYear()
LocalDateTime 转为LocalDate 和LocalTime
scala> nowDateTime.toLocalDate
val res81: java.time.LocalDate = 2022-04-15scala> nowDateTime.toLocalTime
val res83: java.time.LocalTime = 16:26:23.701scala> nowDateTime.toString
val res86: String = 2022-04-15T16:26:23.701
加减时间
scala> nowDateTime.plusYears(12)
val res186: java.time.LocalDateTime = 2034-04-15T16:26:23.701
truncateTo
scala> nowDateTime.truncatedTo(ChronoUnit.HOURS)
val res194: java.time.LocalDateTime = 2022-04-15T16:00scala> nowDateTime.truncatedTo(ChronoUnit.DAYS)
val res203: java.time.LocalDateTime = 2022-04-15T00:00scala> nowDateTime.truncatedTo(ChronoUnit.WEEKS)
java.time.temporal.UnsupportedTemporalTypeException: Unit is too large to be used for truncationat java.time.LocalTime.truncatedTo(LocalTime.java:955)at java.time.LocalDateTime.truncatedTo(LocalDateTime.java:1121)... 32 elidedscala> nowDateTime.truncatedTo(ChronoUnit.MINUTES)
val res211: java.time.LocalDateTime = 2022-04-15T16:26scala> nowDateTime.truncatedTo(ChronoUnit.SECONDS)
val res212: java.time.LocalDateTime = 2022-04-15T16:26:23
LocalDate
scala> val nowDate=LocalDate.now()
val nowDate: java.time.LocalDate = 2022-04-15
获取年、月、日、当月的第几天
scala> nowDate.getYear()
val res43: Int = 2022scala> nowDate.getMonth
val res45: java.time.Month = APRILscala> nowDate.getMonth
def getMonth(): java.time.Month
scala> nowDate.getMonthValue
val res49: Int = 4
获取本年、本月、本周的第几天
scala> nowDate.getDayOfMonth
val res52: Int = 15scala> nowDate.getDayOfYear
val res54: Int = 105scala> nowDate.getDayOfWeek
val res56: java.time.DayOfWeek = FRIDAY
LocalTime
val nowTime = LocalTime.now()
得到当前时间的时、分、秒、纳秒
scala> nowTime.getHour
val res26: Int = 16scala> nowTime.getMinute
val res29: Int = 17scala> nowTime.getSecond
val res31: Int = 3scala> nowTime.getNano
val res38: Int = 724000000
日期时间格式化java.time.format.DateTimeFormatter
scala> val dtf: DateTimeFormatter =DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val dtf: java.time.format.DateTimeFormatter = Value(YearOfEra,4,19,EXCEEDS_PAD)'-'Value(MonthOfYear,2)'-'Value(DayOfMonth,2)' 'Value(HourOfDay,2)':'Value(MinuteOfHour,2)':'Value(SecondOfMinute,2)scala> nowDateTime.format(dtf)
val res99: String = 2022-04-15 16:26:23scala> dtf.format(nowDateTime)
val res100: String = 2022-04-15 16:26:23scala> val dtf: DateTimeFormatter =DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss")
val dtf: java.time.format.DateTimeFormatter = Value(YearOfEra,4,19,EXCEEDS_PAD)Value(MonthOfYear,2)Value(DayOfMonth,2)' 'Value(HourOfDay,2)':'Value(MinuteOfHour,2)':'Value(SecondOfMinute,2)scala> dtf.format(nowDateTime)
val res101: String = 20220415 16:26:23scala> nowDateTime.format(dtf)
val res102: String = 20220415 16:26:23
计算时间差 java.time.Period
Periods getYears(),getMonths() 和 getDays() – 精确到年月日
scala> val birDate=LocalDate.of(2000,11,8)
val birDate: java.time.LocalDate = 2000-11-08
scala> Period.between(nowDate,birDate)
val res123: java.time.Period = P-21Y-5M-7Dscala> Period.between(nowDate,birDate).getDays
val res126: Int = -7scala> Period.between(nowDate,birDate).getYears
val res128: Int = -21
计算时间差是后面日期减去前面日期
java.time.Duration
scala> import java.time.Duration
import java.time.Durationscala> val birdate=LocalDateTime.of(2000,11,8,18,30)
val birdate: java.time.LocalDateTime = 2000-11-08T18:30scala> val duration=Duration.between(birdate,nowDateTime)
val duration: java.time.Duration = PT187869H56M23.701S
得到时间差
scala> duration.toDays
val res136: Long = 7827scala> duration.toHours
val res141: Long = 187869scala> duration.toMinutes
val res146: Long = 11272196scala> duration.toNanos
val res148: Long = 676331783701000000
java.time.temporal.ChronoUnit
scala> import java.time.temporal.ChronoUnit
import java.time.temporal.ChronoUnitscala> ChronoUnit.DAYS
val res156: java.time.temporal.ChronoUnit = Daysscala> ChronoUnit.DAYS.between(birDate,nowDateTime)
val res161: Long = 7828scala> ChronoUnit.DAYS.between(birDate,nowDate)
val res162: Long = 7828scala> ChronoUnit.YEARS.between(birDate,nowDate)
val res164: Long = 21
获取昨天日期
import java.text.SimpleDateFormat
import java.util.{Calendar, Date}
def getYesterday(): String = {val dateFormat: SimpleDateFormat = new SimpleDateFormat("yyyyMMdd")val cal: Calendar = Calendar.getInstance()cal.add(Calendar.DATE, -1)dateFormat.format(cal.getTime())}
字符串转时间LocalDateTime
LocalDateTime.of(2021, 10, 22, 10, 10, 10);
JDK8 日期时间相关 java.time.*相关推荐
- JDK8 日期 API 使用
JDK8 日期 API 使用 早期日期类的问题 老版本 API 计算困难问题 线程安全问题 其它 Date-Time API 中基本类的使用 of 方法在日期 /时间类的应用 为 LocalDateT ...
- jdbc 日期时间相关的类型
jdbc 日期时间相关的类型 1.sql.Date sql包中的日期类Date是util包中Date类的子类,实际上也是util.Date类的子集.它只处理年月日,而忽略小时和分秒,用以代表SQL的D ...
- 请使用日期时间相关的API,计算出一个人已经出生了多少天
package com.learn.demo03.DateFormat;import java.text.ParseException; import java.text.SimpleDateForm ...
- cot函数 java_java8、jdk8日期与字符串转化
java8.jdk8日期转化成字符串详解 java8.jdk8日期转化成字符串 新建日期工具类:DateUtils 新建方法:parseDate 实现方法parseDate public static ...
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响...
CSDN 的 Blog 太滥了!无时不刻地在坏! 开始抢救性搬家 ... ... 到这里重建家园 /* T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@D ...
- java对象转json字符串日期格式_fastJSON字符串类型数据中的日期转换为Java bean的日期对象...
fastJSON字符串类型数据中的日期转换为Java bean的日期对象 Person.java import java.io.Serializable; import java.util.Date; ...
- java 日期 解析_Java日期解析(Java DATE Parsing)
Java日期解析(Java DATE Parsing) 我有一个java.util.Date的愚蠢问题. 我有这一行代码,但我不明白为什么这个日期是用这种格式无法解析的. public class T ...
- T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响!...
原文:T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst.语言版本影响! CSDN 的 Blog 太滥了!无时不刻地在坏! 开始抢救性搬家 ...
- mysql日期时间相关
1 获取日期时间相关 获取当前日期时间 SELECTNOW(), # sql 执行时的时间SYSDATE(), # 方法运行时的时间CURDATE(),# 当前日期 同CURRENT_DATE ()C ...
最新文章
- 最小二乘GAN:比常规GAN更稳定,比WGAN收敛更迅速
- java编程那些事pdf下载_《Java编程那点事儿》读书笔记(六)
- 【转】Info.plist中常用的key简介
- 使用ExecutorService来停止线程服务
- 用c实现部分java数组功能,很烂,留个参考吧
- Python的交互式界面 编写 .
- Kinect v1在windows上的使用教程
- Flutter文本标签TextTagWidget,搜索记录流式布局显示文本标签
- python zipfile模块学习笔记(一)
- java hql多条件查询_JSP 开发之hibernate的hql查询多对多查询
- 数据挖掘、机器学习、深度学习、推荐系统、自然语言处理的区别与联系
- java class类
- python常见变量数据类型_【python基础】常见的变量、数据类型、运算符
- python能处理数据的优点_Python在数据处理方面的优缺点
- Linux (deepin)网络管理详解.
- 《系统工程理论与实践》Latex 模板使用教程
- mydisktest测试软件,MyDiskTest
- 【京东】会员激励体系,会员体系结构分析
- (神州优车)数据交换平台架构分享
- Vue-cli3.x中使用Axios发送跨域请求的配置方法