scala - 如何计算 2 个时间戳变量之间的持续时间?
问题描述
我想计算 2 个时间戳变量之间的持续时间并以 HH:MM:SS 格式输出
val start_time = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now)
val sourceFormat = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
val start_time_dt = sourceFormat.parse(start_time)
val end_time = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now)
val end_time_dt = sourceFormat.parse(end_time)
我正在尝试这样做:
Duration.between(end_time_dt, start_time_dt)
但我收到以下错误:
found : java.util.Date
required: java.time.temporal.Temporal
解决方案
你把旧java.util.Date
的和新的混在一起了java.time.LocalDateTime
。
import java.time.{LocalDateTime, Duration}
val start = LocalDateTime.now()
val end = LocalDateTime.now()
val dur = Duration.between(start, end)
dur.getNano() //res0: Int = 390318000
dur.getSeconds() //res1: Long = 0
dur.isZero() //res2: Boolean = false
您还应该注意,您只需要Formatter
when 从/到您的日期和时间的特定文本表示。由于您发布的代码示例既不从 date-time 读取String
,也不打印出 date-time String
,因此我没有在此处包含任何格式。
推荐阅读
- node.js - 本地 Node.js 服务器始终无法连接到 AWS RDS 数据库
- python - 从 Azure ML 实验打包多个模型
- arrays - Minizinc:给定结果数组,确保具有匹配值的索引也根据附加值匹配
- r - 如何在 Shiny App 中将列转换为字符类型?
- python - 如何使用 GMAIL API 更改电子邮件签名?
- python-3.x - Filedialog 在打开文件资源管理器时创建空行
- javascript - 你如何忽略 jQuery 中的“无法读取属性”错误
- php - 我如何在我网站上的其他 php 页面上的标题页面中包含一个 css 页面?
- vue.js - 在 Vue 中使用 aframe 有哪些方法?
- node.js - React backpress 在屏幕上打印 axios 响应