【发布时间】:2011-05-15 10:48:09
【问题描述】:
我对 scala 和 jodatime 都比较陌生,但对两者都印象深刻。我试图弄清楚是否有更优雅的方法来做一些日期算术。这是一个方法:
private def calcDuration() : String = {
val p = new Period(calcCloseTime.toInstant.getMillis - calcOpenTime.toInstant.getMillis)
val s : String = p.getHours.toString + ":" + p.getMinutes.toString +
":" + p.getSeconds.toString
return s
}
我将所有内容都转换为字符串,因为我将其放入 MongoDB,但我不确定如何序列化 joda Duration 或 Period。如果有人知道我会非常感激答案。
无论如何,calcCloseTime 和 calcOpenTime 方法返回 DateTime 对象。将它们转换为 Instant 是我发现获得差异的最佳方式。有没有更好的办法?
另一个问题:当小时、分钟或秒是个位数时,结果字符串不是零填充的。有没有一种简单的方法可以使该字符串看起来像 HH:MM:SS?
谢谢, 约翰
【问题讨论】: