今天来介绍Scala获取时间的方式,及时间的处理。与Java获取的方式基本相同。主要是Java自带类LocalDateTime和Hutool包中时间处理的方式。基本可以覆盖所有的时间需求。
时间处理主要分为以下几种方式,1. 时间获取,时间格式化,字符串时间的解析,时间求差,获取时间的开始和结束。另外有hutool包中有计算年龄和求是否瑞年的方法。
废话不多说,直接开始
1. Java自带时间处理
使用LocalDateTime类在解析字符串日期的时候会报java.time.format.DateTimeParseException,这是java1.8中的bug,在1.9中得到了解决。个人建议使用hutool工具包,有强大的处理功能。
package com.xx.spark.dateTime
import java.time.format.DateTimeFormatter
import java.time.{
LocalDateTime, Month}
object TestLocalDateTime {
def main(args: Array[String]): Unit = {
//获取时间并显示格式
//getNowDateTime()
//构造日期
//createDateTime
//修改日期
//alterDateTime
//格式化日期
//formatDateTime
//解析时间
parasDateTime
}
//获取时间
def getNowDateTime() {
val rightNow: LocalDateTime = LocalDateTime.now()
println("" + rightNow)
println("年:" + rightNow.getYear)
println("mmonth:" + rightNow.getMonth)
println("当前月的日" + rightNow.getDayOfMonth)
println("当前年的日" + rightNow.getDayOfYear)
println("当前周的日" + rightNow.getDayOfWeek)
}
//自定义时间
def createDateTime()={
val time = LocalDateTime.of(2020,4,21,8,52)
println(time)
}
//修改时间
def alterDateTime()={
val time = LocalDateTime.now()
val time2 = time.plusDays(2)
println(time2)
val hour = time