2017-11-14 4 views
1
scala> val dates = filtering1.map(x => (format.parse(x._1),format.parse(x._2))) 
dates: org.apache.spark.rdd.RDD[(java.util.Date, java.util.Date)] = MapPartitionsRDD[7] at map at <console>:34 

店舗は下記、スカラjava.util.Dateの差は何分ですか?

scala> dates.collect 
res0: Array[(java.util.Date, java.util.Date)] = Array((Sat Jun 30 23:42:00 IST 2018,Thu Jul 04 15:10:00 IST 2019), (Sat Jun 30 23:37:00 IST 2018,Sun Jul 01 14:44:00 IST 2018), (Sat Jun 30 23:13:00 IST 2018,Sun Feb 28 23:34:00 IST 219), (Sat Jun 30 22:58:00 IST 2018,Mon Jul 01 18:22:00 IST 2019), (Sat Jun 30 22:36:00 IST 2018,Mon Jul 01 16:01:00 IST 2019), (Sat Jun 30 21:53:00 IST 2018,Tue Jul 02 10:36:00 IST 2019), (Sat Jun 30 21:42:00 IST 2018,Sun Jun 30 23:25:00 IST 2019), (Sat Jun 30 21:36:00 IST 2018,Mon Jul 01 16:47:00 IST 2019), (Sat Jun 30 21:16:00 IST 2018,Mon Jul 01 18:18:00 IST 2019), (Sat Jun 30 21:10:00 IST 2018,Thu Jul 04 12:25:00 IST 2019), (Sat Jun 30 21:02:00 IST 2018,Sat Dec 01 17:29:00 IST 2018), (Sat Jun 30 20:54:00 IST 2018,Mon Jul 01 15:51:00 IST 2019), (Sat Jun 30 ... 

は、しかし、日付の違いので、操作を実行する方法を、一緒にグループ化された値分の値を与えます。

私はコマンドを持っていますが、出力が得られません。どのような変更を行う必要がありますか?

val time_diff = dates.map(x => (x._2.getTime()-x._1.getTime())/(60*1000)%60

(60*1000)%60)値が何を表していますか?

+0

[Javaで日付/時刻の差を計算し(https://stackoverflow.com/questions/5351483/calculate-date-time-difference-in-java)の可能性の重複 –

答えて

1

getTimeにはミリ秒が与えられているため、1000.0で除算すると秒が得られ、1000.0 * 60で割ると分が得られます。 LongIntで割ると別のLongが得られるので、結果として得られた分を次に小さい整数に切り捨てます。モジュラス60、% 60の追加、単に0-59分をラップし、あなたが90分で差があった場合、それは1時間30分となり、そして、あなたの計算の結果は、ちょうどだろう30

val t = System.currentTimeMillis 
val x = new java.util.Date(t) 
val y = new java.util.Date(t + 10000) // ten seconds later 
(y.getTime - x.getTime)/(1000.0 * 60) // 0.167 
(y.getTime - x.getTime)/(1000 * 60) // 0 ! 
1

最初の問題は、2回減算すると、時間が負になる可能性があります。 第2に、getTimeはミリ秒単位で値を返します。

1000ms = 1 second 

ですから、最初に1000で割り、秒単位で時間を取得する必要があります。数分で取得するには、60でもう一度それを割ります。 分で結果が必要なので。

val time_diff = dates.map(x => (x._2.getTime()-x._1.getTime())/(60*1000)) 
関連する問題