例如,如果它是下午1点(13:00)并且我需要以毫秒为单位获得数字46800000(从开始日起13小时)。有人可以帮忙吗?
答案 0 :(得分:17)
您可以使用日历来计算它。您将时间设置为小时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());
答案 1 :(得分:0)
使用Joda-Time 2.5库,它很简单。
long millisOfDay = DateTime.now( DateTimeZone.forID( "America/Montreal" ) ).getMillisOfDay();
请注意时区如何至关重要。如果省略,则隐式依赖于JVM的当前默认值。