【发布时间】:2023-03-13 06:37:01
【问题描述】:
我的一天从 2013 年 11 月 2 日 00:00 开始,到 23:59 结束,因为新的一天是 2013 年 11 月 3 日 00:00 - 我得到的数学是 23:59 - 00:00 23:59 ,这意味着我每天损失 1 分钟。 我是否需要每次添加 +1 分钟才能获得 24:00 作为结果。 如果是这样,我该如何处理这个问题:23:59 开始和 23:59 结束,因为新的一天?
有时在 1 分钟内点击几次是给我的
Opt1 clock start 12:30 end 12:30 = 0 min
Opt2 clock start 12:30 end 12:30 = 0 min
Opt1 clock start 12:30 end 12:30 = 0 min
Opt2 clock start 12:30 end 12:31 = 1 min
这么久没关系,但我不知道“时钟开始 23:59 结束 23:59”是实际完成的工作还是错误。 如果是失误,0分钟就好,如果不是失误,我就输1分钟。
我在做一个小计时器,但我找不到那个问题的解决方案。
也许我需要用户的额外确认?
但是当它到达 23:59:59 时它会自动切换到新的一天,所以我将 23:59 作为前一天的最后一点,新的一天从 00:00 开始。
如何获得正确的时间? 晚上 11:59 和上午 12:00 也是如此 - 又是一天在晚上 11:59 结束,因为新的一天从上午 12:00 开始,对吧?
那么如何补偿那 1 分钟呢?
更新:
时间格式是 SimpleDateFormat foutputFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
解析到日期,然后做简单的数学运算
mint+= (finishd[i].getTime()/60000) - (startd[i].getTime() / 60000);
////System.out.println(mint);
int h=(int)mint/60;
int m=(int)mint-(h*60);
////System.out.println("Min: " +mint);
String totaltime = h + "h"+":" + m+"min";
////System.out.println("H: " + h + "Min: " + m);
问题是当我有:开始 01/03/2004 00:00 和结束 01/03/2004 23:59 。第二天从 02/03/2004 00:00 开始。 我的工作时间是 23 小时:59 分钟,而不是 24 小时——一整天我都使用 SQL 数据库来保存和读取数据。数据格式“dd/MM/yyyy HH:mm”;
差不多了 :D 对我来说最后一个问题是我需要做这样的数学运算:
pause 10:20 - 10:40 = 20 min OK
working 10:40 - 12:42 = 2h:2min OK
pause 12:42 - 12:57 = 15 min OK
working 12:57 - 12:57 = 0 OK
pause 12:57 - 12:57 = 0 OK
working 12:57 - 16:00 = 3h:3min OK
Total work 5h:5min / pause 35min OK
23:59终于来了:
working 22:00 - 23:59 = 1h:59m missing 24! 1min lost
NEW DAY working 00:00 - 04:30 = 4h:30min OK
那么如何按原样修复最后的 23:59 23:59 - 23:59 暂停 = 0 分钟确定
也可以
day1 23:59 - day2 00:20 = 21min ?
但 SQL 只能将信息存储为 00-59min 00-23h
然后,如果我需要那天的总工作和总停顿: 我可以总结当天的所有记录,当我暂停 + 工作时,我将得到 23:59 小时的总数
【问题讨论】:
-
虽然这被标记为 Java,但语法确实不是。我们在这里看到了什么?
-
放下杯子去睡觉吧。明天——当你再次阅读这篇文章时——你的问题就会得到解决——看起来很神奇。
-
如果你在浪费时间,你可能会遇到哭泣天使的问题。只是不要眨眼!
-
反对什么???我认为你们喝醉了,而不是我。
-
@JohnBG - 不要抱怨。 “醉”是慈善的解释:-)