大数据(7m)Scala日期和时间

Posted 小基基o_O

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据(7m)Scala日期和时间相关的知识,希望对你有一定的参考价值。

时间

现在

import java.time.LocalDateTime
val now = LocalDateTime.now()
// 打印结果:2021-05-22T16:24:39.509

返回当前系统时间距离1970-1-1 0:0:0的毫秒值

val millisecond = System.currentTimeMillis
// 打印结果:1621671879509

类型转换(重点!)

millisecond
LocalDateTime
String
LocalDateTime
millisecond
import java.time.LocalDateTime
import java.time.ZoneOffset  // 时区偏移量
import java.time.format.DateTimeFormatter
// 毫秒数
val millis = System.currentTimeMillis
println(millis)
// 毫秒数 -> LocalDateTime
val now = LocalDateTime.ofEpochSecond(millis / 1000, ((millis % 1000) * 1e6).toInt, ZoneOffset.ofHours(8))
println(now)
// LocalDateTime -> String
val yMdMmsF = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS")
val yMdMmsStr = yMdMmsF.format(now)
println(yMdMmsStr)
// String -> LocalDateTime
val localDateTime = LocalDateTime.parse(yMdMmsStr, yMdMmsF)
println(localDateTime)
// LocalDateTime -> 毫秒数
val millisecond = localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli
println(millisecond)

其它补充

import java.time.LocalDateTime
val now: LocalDateTime = LocalDateTime.now
val year: Int = now.getYear
val month: Int = now.getMonthValue
val day: Int = now.getDayOfMonth
val hour: Int = now.getHour
val minute: Int = now.getMinute
val second: Int = now.getSecond
val weekday: String = now.getDayOfWeek.toString
println(now)     // 2021-05-22T16:35:20.243
println(year)    // 2021
println(month)   // 5
println(day)     // 22
println(hour)    // 16
println(minute)  // 35
println(second)  // 20
println(weekday) // SATURDAY

日期

今天

import java.time.LocalDate
val today = LocalDate.now()

昨天(重点!)

import java.time.LocalDate
val yesterday = LocalDate.now().minusDays(1)

日期转字符串

import java.time.LocalDate
import java.time.format.DateTimeFormatter
val today = LocalDate.now()
val yMd = DateTimeFormatter.ofPattern("yyyy年MM月dd")
val yMdString: String = yMd.format(today)
println(yMdString)  // 2021年05月22

以上是关于大数据(7m)Scala日期和时间的主要内容,如果未能解决你的问题,请参考以下文章

大数据学习:Scala面向对象和Spark一些代码读和问

「大数据」(八十六)Scala基础

大数据学习06 Scala的基础语法

常用python日期日志获取内容循环的代码片段

Scala大数据深度好课Scala大数据操作实战

大数据学习:Scala隐式转换和并发编程(DT大数据梦工厂)