java - 如何计算两次之间的差异
问题描述
我想计算用户的睡眠时间,他应该在他睡觉和醒来时进入,我应该计算他睡了多少小时
例如,如果用户输入
His sleeping time : 11:00 pm
His waking up time : 7:30 am
The number of sleeping hours should be : 8:30 hrs
有什么方法可以轻松进行此计算
这是代码
cal.set(Calendar.HOUR_OF_DAY, 11);
cal.set(Calendar.MINUTE, 0);
sleepTimeOnOffDays = cal.getTime();
private long subtractTwoDates(Date date1, Date date2) {
Calendar calendar1 = Calendar.getInstance();
Calendar calendar2 = Calendar.getInstance();
calendar1.setTime(date1);
calendar2.setTime(date2);
long milsecs1 = calendar1.getTimeInMillis();
long milsecs2 = calendar2.getTimeInMillis();
long diff = milsecs2 - milsecs1;
long dhours = diff / (60 * 60 * 1000);
return Math.abs(dhours);
}
解决方案
推荐阅读
- python - 用于将列表列表拆分为每个列表的第一个元素的列表的命令
- ruby-on-rails - 使用 rspec 测试 before_destroy 方法
- django - 在 Django REST ViewSet 视图/操作中使用全局查询集
- javascript - 在标签 HTML 上打印变量 PHP
- c++ - 部分专业化和对 std::void_t<> 的需求
- azure-data-factory - Azure 数据工厂管道 - 复制 blob 并将文件名存储在 DocumentDB 或 Azure SQL 中
- c - 如何在 C 中传递参数以便可以更改值?
- heroku - 删除后可以恢复heroku上的Postgres DB吗
- python - 如何在 python 中制作一个通过电子邮件向我发送数据的键盘记录器?
- python-3.x - 从 Supervisor 运行 Python 脚本时出现 ModuleNotFoundError