【问题标题】:Getting difference between two Timestamp objects in Java在 Java 中获取两个 Timestamp 对象之间的差异
【发布时间】:2016-01-24 20:16:22
【问题描述】:

我正在做一个项目,它是关于停车的,它包含一个数据库。我有汽车进入停车场的时间/日期的可变时间戳,还有一个汽车在出口时的时间戳。 我想获得小时的差异(每个整小时后的分钟是一个新的小时等。4 小时和 2 分钟与 5 小时相同)所以我可以计算服务的价格(小时乘以每小时的价格)。

请帮帮我,提前谢谢你

【问题讨论】:

  • 我昨天尝试了很多代码示例,但到目前为止我发现的所有文档都与.time.gethours有关,我想保存日期和时间,类型是时间戳,?我不确定这是最好的方法吗? (在 sql 和 java 中)

标签: java mysql sql timestamp


【解决方案1】:

以毫秒为单位获取差异并计算如下

long timeDiff = endTime.getTime() - startTime.getTime()

int hours = (int)Math.ceil(timeDiff/1000*60*60) //In here we are converting milli seconds difference to hours and then if it is not an exact number we are converting that to the next integer

【讨论】:

  • 如果日期改变了怎么办?例子。开始时间是晚上 11 点,结束时间是凌晨 1 点......我不太确定它是否适用于时间戳(日期和时间):/
  • 是的,当您使用 getTime() 方法时会返回自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数
  • 如果您同意答案正确,请投票并接受答案
  • 是的对不起我很慢我正在编程中,我总是这样做^^谢谢大家 vm
【解决方案2】:

获得以毫秒为单位的时间值后(例如,使用Date 对象)使用TimeUnit 获得时间差:

TimeUnit.HOURS.convert(timeOut.getTime()-timeIn.getTime(), TimeUnit.MILLISECONDS);

【讨论】:

  • 我想我知道现在该做什么了。谢谢大家的时间。@suresh reddy guntaka 和 austin d
猜你喜欢
  • 2013-04-12
  • 1970-01-01
  • 2012-09-07
  • 2014-03-26
  • 1970-01-01
  • 2017-03-08
  • 1970-01-01
  • 2017-03-26
  • 1970-01-01
相关资源
最近更新 更多