spark获取时间

Posted 彩色条纹小斑马

tags:

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

spark 中获取时间用到java.util.{Calendar,Date} 以及java.text.SimpleDateFormat来对时间输出格式作规范

首先先导入包

 

import java.text.SimpleDateFormat
import java.util.{Calendar, Date}

 

 获取当前时间

def getNowTime(): String = {
//实例化一个Date对象并且获取时间戳
val time = new Date().getTime
//设置时间格式
val format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
//将时间格式套用在获取的时间戳上
   format.format(time)
}

调用该函数得到的结果为

2017-06-16 09:57:16

当想要获取非今天时间或者年份,月份,日期,小时,则要用到Calendar

 

val cal = Calendar.getInstance //实例化Calendar对象

 

 如果想获取昨天的时间

//将-1添加到Calendar.Date中,即加载到昨天的时间
//day为1时,就是在当前时间加一天,即是明天
cal.add(Calendar.DATE, -1) 

val time: Date = cal.getTime //获取时间
val newtime: String = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time) //设置格式并且对时间格式化

 如果想获取年,月,日,小时等

val year = cal.get(Calendar.YEAR)
println("年份:"+year)
val month = cal.get(Calendar.MONTH)
println("月份:"+(month+1)) //国外的月份是从0-11,所以要加1
val Day = cal.get(Calendar.DAY_OF_MONTH)
println("日子:"+Day)
val hour = cal.get(Calendar.HOUR_OF_DAY)
println("小时:"+hour)
val minute = cal.get(Calendar.MINUTE)
println("分钟:"+minute)

 

输出的结果为:

 

年份:2017

月份:6

日子:16

小时:10

分钟:35

 

以上是关于spark获取时间的主要内容,如果未能解决你的问题,请参考以下文章

spark关于join后有重复列的问题(org.apache.spark.sql.AnalysisException: Reference '*' is ambiguous)(代码片段

Spark闭包与序列化

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

Android 使用两个不同的代码片段获取当前位置 NULL

Spark:如何加速 foreachRDD?

什么是在 C++ 中获取总内核数量的跨平台代码片段? [复制]