【问题标题】:How to find scala java.util.Date difference in minutes?如何在几分钟内找到 scala java.util.Date 差异?
【发布时间】:2017-11-14 11:26:02
【问题描述】:
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

存储低于值

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 =&gt; (x._2.getTime()-x._1.getTime())/(60*1000)%60)

(60*1000)%60) 值代表什么?

【问题讨论】:

标签: scala date difference date-difference java.util.date


【解决方案1】:

getTime 给出毫秒,因此除以 1000.0 给出秒,除以 1000.0*60 给出分钟。请注意,将Long 除以Int 会得到另一个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 !

【讨论】:

    【解决方案2】:

    第一个问题,当您减去两次时,时间可能会变为负数。 其次,getTime 以毫秒为单位返回值。

    1000ms = 1 second
    

    因此,首先需要将其除以 1000 以获得以秒为单位的时间。要获得分钟数,再除以 60。 因为你需要在几分钟内得到结果。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-11
      • 2018-11-08
      • 2020-04-09
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多