我正在努力计算午夜后的时间:
String time = "15:00-18:05"; //Calculating OK
//String time = "22:00-01:05"; //Not calculating properly
String[] parts = time.split("-");
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
Date date1 = null;
Date date2 = null;
Date dateMid = null;
String dateInString = "24:00";
try {
dateMid = format.parse(dateInString);
} catch (ParseException e1) {
e1.printStackTrace();
}
try {
date1 = format.parse(parts[0]);
date2 = format.parse(parts[1]);
} catch (ParseException e) {
e.printStackTrace();
}
long difference = date2.getTime() - date1.getTime();
if (date2.getTime()<date1.getTime()) //in case beyond midnight calculation
{
difference = dateMid.getTime()-difference;
}
int minutes = (int) ((difference / (1000*60)) % 60);
int hours = (int) ((difference / (1000*60*60)) % 24);
String tot = String.format("%02d:%02d", hours,minutes);
System.out.println("dif2: "+tot);
如果您不关心夏令时的变化,并且假设世界是理想的(不是理想的),则可以从24小时中减去结束与开始之间的持续时间(end
以开始与start
结束为间隔):
String time = "22:00-01:05";
String[] parts = time.split("-");
LocalTime start = LocalTime.parse(parts[0]);
LocalTime end = LocalTime.parse(parts[1]);
if (start.isBefore(end)) { // normal case
System.out.println(Duration.between(start, end));
} else { // 24 - duration between end and start, note how end and start switched places
System.out.println(Duration.ofHours(24).minus(Duration.between(end, start)));
}
问题内容: 我正在创建一个Android小部件,希望在每晚的午夜更新。我正在使用,我需要找出从当前时间到午夜还剩下多少毫秒。这是我的代码: 如何计算到午夜还有几毫秒? 先感谢您。 问题答案: 使用日历来计算它:
我使用以下内容以更可读的格式获取当前日期/时间: 这很好地工作,并输出如下内容:<代码>[02-06-2020]-[22-59] 但是,午夜之后,时间格式从HH:MM:SS:MS更改为H:MM:SS:MS。这会弄乱格式,因为它在时间中包含冒号,因为字符被移了一位。这会导致在午夜之后创建的日志文件中出现无用的日期/时间信息。 有没有什么方法可以让时间总是以两位数的格式表示?
问题内容: 我需要创建两个日期对象。如果当前日期和时间是2012年3月9日上午11:30,则 日期对象d1应该是 2012年3月9日上午12:00 日期对象d2应该包含当前日期本身 日期不会输入,它是系统日期。 更新 : 给出当前日期和时间 问题答案: 应该是IST 2012年3月9日00:00:00
问题内容: 我试图让我对datetime模块有所了解。我知道现在是一个纪元,一个事件的最后发生时间(一个纪元)。我需要做的是弄清楚该事件是否在昨天的午夜和午夜之间发生。 24小时前的电话是-86400,但我如何将其四舍五入到午夜。我真的很难找到一种方法来获取和获取日期时间的时间戳,或者然后操纵日期时间来设置时间。 问题答案: 在半夜 生成最后一个午夜很容易: 结合了今天的日期(您可以使用,也可以选
问题内容: 我正在使用Node,并且需要使此功能每天在午夜运行,这可能吗? 问题答案: 我相信节点计划包将满足您的需求。通常,您希望所谓的cron安排和运行服务器任务。 使用 节点计划 :
问题内容: 我需要一个函数,该函数可以让我从午夜起经过多少秒。我当前正在使用,但是它给了我UNIX时间戳。 如果我也能获得毫秒数,那对我来说将是一个额外的奖励。 问题答案: 如果您使用的是Java> = 8,这很容易做到: 如果您使用的是Java 7或更低版本,则必须通过Calendar从午夜开始获取日期,然后减去。