- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
看一下以下命令:
$ sudo ln -fs /usr/share/zoneinfo/US/Pacific localtime
$ date
Mon Oct 13 15:29:02 PDT 2014
$ sudo ln -fs /usr/share/zoneinfo/US/Hawaii localtime
$ date
Mon Oct 13 12:29:20 HST 2014
这一切都很好。现在我有一些用 java 编写的软件,需要知道距离午夜还有多少分钟,以便它可以执行一些维护。
这是我想出的代码:
// Time to perform maintenance
String rawTime = "23:59";
int hours = Integer.parseInt(rawTime.substring(0, 2));
int minutes = Integer.parseInt(rawTime.substring(3, 5));
// Get current Time
Calendar c = Calendar.getInstance();
long now = c.getTimeInMillis();
Date dateNow = new Date(now);
System.out.println(new Date(now));
// Get midnight
c.set(Calendar.HOUR_OF_DAY, hours);
c.set(Calendar.MINUTE, minutes);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
Date midnight = new Date(c.getTimeInMillis());
// Get Difference
System.out.println(String.format("Calc minutes from %s to %s", dateNow, midnight));
long result = ((midnight.getTime()/60000) - (dateNow.getTime()/60000));
System.out.println((int) result);
Linux 设置为夏威夷时区时的输出:
Calc minutes from Mon Oct 13 15:36:51 PDT 2014 to Mon Oct 13 23:59:00 PDT 2014
Result: 503
如您所见,我没有得到正确的时间...我得到的是 PDT 而不是 HST。我不太关心为什么日期的 toString() 返回 PDT,因为它与时区无关,但我关心应该如何计算它?
让我们从 '11:59' 开始,计算 linux 认为时间到 '11:59' 为止还有多少分钟......我愿意接受一种解决方案,以不同的方式设置 linux 时间。
谢谢!这应该很难...
最佳答案
java.util.Date 和 .Calendar 类是出了名的麻烦。避开他们。使用 Joda-Time或 Java 8 中新的 java.time 包。
在 Joda-Time 和 java.time 中,日期时间对象确实知道自己指定的时区(与 java.util.Date 不同)。
这里是 Joda-Time 2.5 中的一些示例代码。
DateTimeZone timeZoneHawaii = DateTimeZone.forID( "Pacific/Honolulu" );
DateTime now = DateTime.now( timeZoneHawaii );
DateTime dayStart = now.plusDays(1).withTimeAtStartOfDay(); // Usually 00:00:00.000 but not always because of Daylight Saving Time or possibly other anomalies.
int minutesUntilDayStartsInHawaii = Minutes.minutesBetween( now, dayStart ).getMinutes();
关于java - 在Linux环境中用Java计算直到午夜的分钟数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26350096/
我发现了类似的问题here ,但这与我想做的事情无关。我在互联网上做了很多研究,我确定 Delphi 正在按设计或预期工作,如果时间为零,它会忽略时间。我有一个在 ListView 中显示日期和时间的
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Background Worker Check For When It's Midnight? 是否有我可以
尝试创建新日期并将其设置为 UTC ISO 午夜并获得如下“2017-07-12T00:00:00”的输出,但到目前为止没有成功。 var dateNow = new Date(); var date
我如何计算今天的 NSTimeInterval 时分秒为零? 我知道今天的NSTimeInterval是这样的: NSTimeInterval today = [[NSDate date] time
我正在尝试创建一个created_at查询范围,它将捕获从UTC午夜(数据库默认值)到现在创建的所有记录。过去我可以使用以下方式查询时间范围: created_at => (24.hours.ago.
我试图将日期传递给 hubspot。但它显示以下错误消息[消息] => 1462127400 是 22:8:47.400 UTC,不是午夜! 如何使用 PHP 将日期转换为 UTC 午夜格式 最佳答案
我试图将日期传递给 hubspot。但它显示以下错误消息[消息] => 1462127400 是 22:8:47.400 UTC,不是午夜! 如何使用 PHP 将日期转换为 UTC 午夜格式 最佳答案
我想使用 Quartz 的 CronTrigger 每 24 小时安排一个组件例如-午夜。 以下表达式每 5 秒运行一次 CronScheduleBuilder.cronSchedule("0/5 *
我有一列包含一系列时间戳的列。最初我认为它们在 Unix 时间戳系统中,所以我使用以下代码将它们转换为日期时间。 big_frame['date'] = pd.to_datetime(big_fram
我是一名优秀的程序员,十分优秀!