【问题标题】:How can I get the time in seconds since midnight [duplicate]我怎样才能得到自午夜以来的秒数[重复]
【发布时间】:2025-12-13 08:05:02
【问题描述】:
这是一个有效的示例代码。如何在 Java Android 中获取自午夜以来的秒数
long time = 1450853970
DateTime.DateFormat = "MM/dd/yyyy"
long unix_time = DateTime.DateParse(DateTime.Date(time * 1000)) / 1000
long time_in_seconds = time - unix_time + (DateTime.TimeZoneOffset * -3600)
【问题讨论】:
标签:
java
android
datetime
【解决方案1】:
private int getSecondsFromMidnight(DateTime d) {
DateTime pastMidnight = d.minusDays(1).withHourOfDay(23).withMinuteOfHour(59).withSecondOfMinute(59);
Seconds seconds = Seconds.secondsBetween(pastMidnight, d);
return seconds.getSeconds();
}
【解决方案2】:
尝试使用Calendar,因为Date 很奇怪))
Calendar now = Calendar.getInstance();
Calendar midnight = Calendar.getInstance();
midnight.set(Calendar.HOUR_OF_DAY, 0);
midnight.set(Calendar.MINUTE, 0);
midnight.set(Calendar.SECOND, 0);
midnight.set(Calendar.MILLISECOND, 0);
long difference = now.getTimeInMillis() - midnight.getTimeInMillis();