我的日期时间字符串yyyy-MMM-dd hh:mm
的值为2016-JAN-17 12:23
,我需要检查当前时间与此日期时间字符串之间的差异是否大于5小时。如果它更大,那么变量is_greater
的值应该等于1,否则为0.
val datetimestring = "2016-JAN-17 12:23"
val formatter_datetime = new java.text.SimpleDateFormat("yyyy-MMM-dd hh:mm")
val parsed = formatter_datetime.parse(datetimestring)
val date = new java.sql.Date(parsed.getTime())
val now = Calendar.getInstance
val duration = now.getTime() - date.getTime()
val diffInHours = TimeUnit.MILLISECONDS.toHours(duration)
val is_greater: String = if (diffInHours<=5) "1" else "0"
我在行val duration = now.getTime() - date.getTime()
中收到编译错误。它说Cannot resolve symbol -
。
P.S。我想避免使用任何外部库,例如jodatime。
答案 0 :(得分:0)
由于getTime
方法返回Date
类的实例(而不是某些数值),您应该替换:
val duration = now.getTime() - date.getTime()
使用:
val duration = now.getTimeInMillis() - date.getTimeInMillis()
答案 1 :(得分:0)
为了最终将值转换为小时,请使用:
import java.util.concurrent.TimeUnit
TimeUnit.MILLISECONDS.toHours(miliseconds)