Date 日期 (util包下的)
-- --
Date date = new Date ( ) ;
0. 将时间戳转换为date类型
long times = 1412654676572L ;
Date date = new Date ( times) ;
1. 获取当前时间 毫秒数
date. getTime ( ) ;
2. date比较
date. before ( new Date ( ) ) ;
date. after ( new Date ( ) ) ;
3. instant转换为Date 类型
Instant instant = Instant . now ( ) ;
Date from = Date . from ( instant) ;
Calendar 日历
Calendar calendar = Calendar . getInstance ( ) ;
1. 获取毫秒数
long timeInMillis = calendar. getTimeInMillis ( ) ;
2. 获取月
int res = calendar. get ( Calendar . MONTH) + 1 ;
3. 获取年
int res = calendar. get ( Calendar . YEAR) ;
4. 获取日
int res = calendar. get ( Calendar . DAY_OF_MONTH) ;
5. 获取小时
int res = calendar. get ( Calendar . HOUR_OF_DAY) ;
6. 获取分钟
int res = calendar. get ( Calendar . MINUTE) ;
7. 获取秒
int res = calendar. get ( Calendar . SECOND) ;
-- --
SimpleDateFormat dateFormat = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
Date date1 = dateFormat. parse ( "2021-09-21" ) ;
Calendar calendar = Calendar . getInstance ( ) ;
calendar. setTime ( date1) ;
int res = calendar. get ( Calendar . MONTH) + 1 ;
System . out. println ( res) ;
-- --
Calendar calendar = Calendar . getInstance ( ) ;
calendar. add ( Calendar . MONTH, 5 ) ;
int res = calendar. get ( Calendar . MONTH) + 1 ;
System . out. println ( res) ;
Calendar calendar = Calendar . getInstance ( ) ;
calendar. set ( Calendar . MONTH, 5 ) ;
System . out. println ( Calendar . MONTH) ;
int res = calendar. get ( Calendar . MONTH) + 1 ;
System . out. println ( res) ;
calendar. after ( calenda2)
calendar. befor ( calenda2)
Date time = calenda2. getTime ( ) ;
Instant instant = calendar. toInstant ( ) ;
LocalDate(只能是yyyy-MM-dd)
LocalDate now = LocalDate . now ( ) ;
int dayofYear = now. getDayOfYear ( ) ;
int month = now. getMonth ( ) . getValue ( ) ;
int dayofMonth = now. getDayOfMonth ( ) ;
int dayofWeek = now. getDayOfWeek ( ) . getValue ( ) ;
LocalDate appoint = LocalDate . parse ( "2018-12-07" ) ;
long differ = appoint. toEpochDay ( ) - now. toEpochDay ( )
LocalDate minus = now. minusDays ( 10 ) ;
System . out. println ( minus) ;
LocalDate plus = now. plusDays ( 10 ) ;
System . out. println ( plus) ;
boolean flag = now. isBefore ( appoint) ;
System . out. println ( flag) ;
LocalDate firstDayOfThisMonth = now . with ( TemporalAdjusters . firstDayOfMonth ( ) )
System . out. println ( "firstDayOfThisMonth = " + firstDayOfThisMonth) ;
LocalDate secondDayOfThisMonth = now . withDayOfMonth ( 2 ) ;
System . out. println ( "secondDayOfThisMonth = " + secondDayOfThisMonth) ;
LocalDate lastDayOfThisMonth = now . with ( TemporalAdjusters . lastDayOfMonth ( ) ) ;
System . out. println ( "lastDayOfThisMonth = " + lastDayOfThisMonth) ;
LocalDate firstDayOfNextMonth = lastDayOfThisMonth. plusDays ( 1 ) ;
System . out. println ( "firstDayOfNextMonth = " + firstDayOfNextMonth) ;
LocalDate lastDayOfNextOfMonth = firstDayOfNextMonth. with ( TemporalAdjusters . lastDayOfMonth ( ) ) ;
System . out. println ( "lastDayOfNextOfMonth = " + lastDayOfNextOfMonth) ;
LocalDate special = LocalDate . parse ( "2019-01-01" ) . with ( TemporalAdjusters . firstInMonth ( DayOfWeek . MONDAY) ) ;
System . out. println ( "special = " + special) ;
参考API
getYear ( ) int 获取当前日期的年份
getMonth ( ) Month 获取当前日期的月份对象
getMonthValue ( ) int 获取当前日期是第几月
getDayOfWeek ( ) DayOfWeek 表示该对象表示的日期是星期几
getDayOfMonth ( ) int 表示该对象表示的日期是这个月第几天
getDayOfYear ( ) int 表示该对象表示的日期是今年第几天
withYear ( int year) LocalDate 修改当前对象的年份
withMonth ( int month) LocalDate 修改当前对象的月份
withDayOfMonth ( int dayOfMonth) LocalDate 修改当前对象在当月的日期
isLeapYear ( ) boolean 是否是闰年
lengthOfMonth ( ) int 这个月有多少天
lengthOfYear ( ) int 该对象表示的年份有多少天(365 或者366 )
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 比较两个日期对象是否相等
参考连接
LocalTime
LocalTime now = LocalTime . now ( ) ;
LocalTime sixThirty = LocalTime . parse ( "06:30" ) ;
LocalTime sixThirty1 = LocalTime . of ( 8 , 30 , 22 ) ;
System . out. println ( sixThirty1) ;
LocalTime sevenThirty = LocalTime . parse ( "09:30" ) . plus ( 1 , ChronoUnit . HOURS) ;
System . out. println ( sevenThirty) ;
int hour = LocalTime . parse ( "06:30" ) . getHour ( ) ;
int minute = LocalTime . parse ( "06:30" ) . getMinute ( ) ;
int second = LocalTime . parse ( "06:30" ) . getSecond ( ) ;
boolean isbefore = LocalTime . parse ( "06:30" ) . isBefore ( LocalTime . parse ( "07:30" ) ) ;
LocalTime maxTime = LocalTime . MAX
LocalDateTime(表示日期和时间的组合)
LocalDateTime . now ( ) ;
LocalDateTime . of ( 2015 , Month . FEBRUARY, 20 , 06 , 30 ) ;
LocalDateTime . parse ( "2015-02-20T06:30:00" ) ;
localDateTime. plusDays ( 1 ) ;
localDateTime. minusHours ( 2 ) ;
localDateTime. getMonth ( ) ;
LocalDateTime localDateTime = LocalDateTime . of ( 2015 , Month . JANUARY, 25 , 6 , 30 ) ;
String localDateString = localDateTime. format ( DateTimeFormatter . ISO_DATE) ;
localDateTime. format ( DateTimeFormatter . ofPattern ( "yyyy/MM/dd" ) ) ;
Instant
Instant now = Instant . now ( ) ;
System . out. println ( now. getEpochSecond ( ) ) ;
System . out. println ( now. toEpochMilli ( ) ) ;
Instant start = Instant . now ( ) ;
long sum = 0L ;
for ( long i = 0L ; i <= 50000000000L ; i++ ) {
sum += i;
}
System . out. println ( sum) ;
Instant end = Instant . now ( ) ;
System . out. println ( "耗费时间为:" + Duration . between ( start, end) . toMillis ( ) ) ;
int hour = instant. atZone ( ZoneOffset . UTC) . getHour ( ) ;
int minute = instant. atZone ( ZoneOffset . UTC) . getMinute ( ) ;
int second = instant. atZone ( ZoneOffset . UTC) . getSecond ( ) ;
int res = instant. atZone ( ZoneOffset . UTC) . getYear ( ) ;
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
#### 通过 instant. atZone ( ZoneOffset . UTC) 方法获取信息
SimpleDateFormat
SimpleDateFormat format = new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss" ) ;
String data = format. format ( new Date ( ) ) ;
Date parse = format. parse ( data) ;
DateTimeFormatter
LocalDate localDate = LocalDate . parse ( "2019-12-07" ) ;
DateTimeFormatter pattern = DateTimeFormatter . ofPattern ( "yyyy年MM月dd日" ) ;
System . out. println ( LocalDate . parse ( "2019-10-09" ) . format ( pattern) ) ;
LocalTime localTime = LocalTime . parse ( "07:43:53" ) ;
DateTimeFormatter formatter = DateTimeFormatter . ofPattern ( "yyyy-MM-dd hh:mm:ss" ) ;
DateTimeFormatter formatter1 = DateTimeFormatter . ofPattern ( "yyyy-MM-dd HH:mm:ss" ) ;
LocalDate localDate1 = LocalDate . parse ( "2019-12-07 07:43:53" , formatter) ;
LocalDateTime localDate2 = LocalDateTime . parse ( "2019-12-07 07:43:53" , formatter1) ;
System . out. println ( localDate1) ;
System . out. println ( localDate2) ;
System . out. println ( localDate) ;
System . out. println ( localTime) ;
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
LocalDate localDate = LocalDate . now ( ) ;
String format1 = localDate. format ( DateTimeFormatter . BASIC_ISO_DATE) ;
String format2 = localDate. format ( DateTimeFormatter . ISO_DATE) ;
LocalTime localTime = LocalTime . now ( ) ;
String format3 = localTime. format ( DateTimeFormatter . ISO_TIME) ;
DateTimeFormatter formatter = DateTimeFormatter . ofPattern ( "hh:mm:ss" ) ;
String format4 = localTime. format ( formatter) ;
LocalDateTime localDateTime = LocalDateTime . now ( ) ;
DateTimeFormatter formatter2 = DateTimeFormatter . ofPattern ( "yyyy-MM-dd hh:mm:ss" ) ;
String format5 = localDateTime. format ( formatter2) ;
System . out. println ( format1) ;
System . out. println ( format2) ;
System . out. println ( format3) ;
System . out. println ( format4) ;
System . out. println ( format5) ;