如何从一天开始获取毫秒数


例如

,如果是下午 1 点 (13:00),我需要以毫秒为单位获取数字 46800000(从一天开始的 13 小时)。有人可以帮忙吗?

您可以使用日历来计算它。将时间设置为小时 0 并计算差值:

Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
long millis = (System.currentTimeMillis() - c.getTimeInMillis());

Joda-Time

使用 Joda-Time 2.5 库,它是一个简单的单行代码。

long millisOfDay = DateTime.now(  DateTimeZone.forID( "America/Montreal" ) ).getMillisOfDay();

请注意时区的重要性。如果省略,则隐式依赖 JVM 的当前默认值。

最新更新