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天

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章