gpt4 book ai didi

java.util.Calendar 未报告正确的 timeInMillis

转载 作者:行者123 更新时间:2023-12-01 17:40:08 26 4
gpt4 key购买 nike

findCalendarStart: time into Calendar: 1260575897

findCalendarStart: set hour : 13

findCalendarStart: after hour : 1249775897

findCalendarStart: after hour string: Thu Jan 15 11:09:35 UTC 1970

findCalendarStart: set minutes : 13

findCalendarStart: after minutes: 1250015897

findCalendarStart: what calendar returns: 1250015897

我在日历中放置了一个日期(通过从今天开始经过一毫秒长的时间来初始化)。日历已正确初始化。在第一个计算中,我将一天中的小时更改为 13。此时,startCalTime.set(Calendar.HOUR_OF_DAY, ((new Integer(m.group(1)).intValue())*2)-1 );

我正在传递正确的一天中的小时值和分钟值,因为我在记录器中看到它们。在我仅更改今天的日期对象中的小时后,可能会导致日历出现如此奇怪的日期?

更多代码:

Calendar startCalTime = Calendar.getInstance(TimeZone.getTimeZone("America/Los_Angeles"));
Date d = new Date(creationTime);
startCalTime.setTime(d);
startCalTime.getTimeInMillis();

..正则表达式..

if(m.find()){
//SET HOUR OF DAY
_logger.warning("set hour 1 : " + new Integer((new Integer(m.group(1)).intValue())-1)); startCalTime.set(Calendar.HOUR_OF_DAY, new Integer(m.group(1)).intValue()-1 );
_logger.warning("after hour 1: " + new Long(startCalTime.getTime().getTime()));
_logger.warning("after hour 1 string: " + startCalTime.getTime().toString());
//SET MINUTE
_logger.warning("set minutes 1 : " + new Integer(m.group(2).toString()));
startCalTime.set(Calendar.MINUTE, new Integer(m.group(2)).intValue());
_logger.warning("after minutes 1: " + new Long(startCalTime.getTime().getTime()));}

谢谢

库洛夫

最佳答案

让我们看看如何初始化日期。我怀疑您传递的不是毫秒,而是自纪元开始以来的 - 这(秒,而不是毫秒)是常规 Unix 时间戳的定义方式。 Java 使用毫秒来获得更好的粒度。

关于java.util.Calendar 未报告正确的 timeInMillis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1896332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com