經常遇到處理時間與獲取當前時間,記錄一下:
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天