2017-01-17 37 views
0

日付時刻文字列yyyy-MMM-dd hh:mmの値が2016-JAN-17 12:23であり、現在の時刻とこの日付時刻文字列の差が5時間を超えるかどうかを確認する必要があります。それは大きいなら、その変数is_greaterの値が1に等しくなければならない、そうでない場合は02つの日付時刻値間の時間差を計算する

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

getTime方法は、Dateクラス(およびなく、いくつかの数値)のインスタンスを返すので、あなたが交換する必要があります。

val duration = now.getTime() - date.getTime() 

をして:

val duration = now.getTimeInMillis() - date.getTimeInMillis() 
0

ようやく時間に値を変換するために、使用:

import java.util.concurrent.TimeUnit 

TimeUnit.MILLISECONDS.toHours(miliseconds) 
関連する問題