Scala 获取时间,时间戳,时间差

经常遇到处理时间与获取当前时间,记录一下:

1.获取时间

1)获取当前时间

dateFormat规定好想要的数据格式 常用的对应如下:

格式 yyyy MM dd HH mm ss
对应 小时 分钟

 

编程中常用的:

常用模式 yyyyMMdd yyyy-MM-dd HHmmss HH-mm-ss
    val dateFormat = new SimpleDateFormat("yyyyMMdd")
    val cla = Calendar.getInstance()
    cla.setTimeInMillis(System.currentTimeMillis())
    val date = dateFormat.format(cla.getTime)
    val hour = cla.get(Calendar.HOUR_OF_DAY).toString
    val min = cla.get(Calendar.MINUTE).toString

打印结果:

date: 20200426
hour: 13
min: 54

2)获取指定时间

可以通过Date类和时间戳两种形式设置时间

方法 Calender.setTime(date: Date) Calender.setTimeMillis(millis: Long)
参数      new Date(”xxxxxxxx")                     time stamp

setTime:

    val dateFormat = new SimpleDateFormat("yyyyMMdd")
    val cla = Calendar.getInstance()
    val define = dateFormat.parse("20200426")
    cla.setTime(define)

setTimeInMillis:

    val dateFormat = new SimpleDateFormat("yyyyMMdd")
    val cla = Calendar.getInstance()
    cla.setTimeInMillis(Your_time_stamp)

设置完成后,可以根据需求获取以下信息(非函数全部接口):

    // 时间信息
    println(cla.getTime)
    // 日期
    println(cla.get(Calendar.DATE))
    // 小时
    println(cla.get(Calendar.HOUR_OF_DAY))
    // 一周的第几天
    println(cla.get(Calendar.DAY_OF_WEEK))
    // 一年的第几天
    println(cla.get(Calendar.DAY_OF_YEAR))
Sun Apr 26 14:07:19 CST 2020
26
14
1
117

 

2.获取时间戳

1)当前时间戳

    val now = new Date()
    println(now.getTime)
1587881379485

2)指定日期时间戳

    val dateFormat = new SimpleDateFormat("yyyyMMdd")
    val date = dateFormat.parse("20200426")
    println(date.getTime)
1587830400000

 

3.获取时间差

有了上面的基础,直接解析两个日期,然后将时间戳的long转回day的单位即可

    val dateFormat = new SimpleDateFormat("yyyyMMdd")
    val st = dateFormat.parse("20200101")
    val end = dateFormat.parse("20200104")
    val tm1 = st.getTime
    val tm2 = end.getTime
    val btDays = (tm2-tm1)/(1000*3600*24)
相差:3天

 

你可能感兴趣的:(Scala,scala,时间戳,时间差)