在JavaAndroid中获取开始和结束的一天的纪元第二。

问题描述 投票:0回答:2

我正面临着获取当天开始和结束的纪元秒的问题,即8月12日00:00:00和8月12日23.59.59。

android
2个回答
4
投票

希望这将是有帮助的。

public long getStartOfDayInMillis() {
   Calendar calendar = Calendar.getInstance();
   calendar.set(Calendar.HOUR_OF_DAY, 0);
   calendar.set(Calendar.MINUTE, 0);
   calendar.set(Calendar.SECOND, 0);
   calendar.set(Calendar.MILLISECOND, 0);
   return calendar.getTimeInMillis();
 }

public long getEndOfDayInMillis() {
// Add one day's time to the beginning of the day.
// 24 hours * 60 minutes * 60 seconds * 1000 milliseconds = 1 day
return getStartOfDayInMillis() + (24 * 60 * 60 * 1000);
}

3
投票

下面两个函数用来返回当天开始和结束的EPOCH秒。

 public static Long getStartOfDayEpochSecond() {
    long secondInaDay = 60 * 60 * 24;
    long currentMilliSecond = System.currentTimeMillis() / 1000;
    long startOfTheDayEpoch = currentMilliSecond - (currentMilliSecond %secondInaDay);
   return startOfTheDayEpoch;
}

/用-1减去endOfTheDayEpoch,因为我们用23.59.59作为一天的结束。

public static Long getEndOfDayEpochSecond() {
    long startOfTheDayEpoch = getStartOfDayEpochSecond();
    long secondInaDay = 60 * 60 * 24;
    long endOfTheDayEpoch = startOfTheDayEpoch + secondInaDay-1;
    return endOfTheDayEpoch;
}
© www.soinside.com 2019 - 2024. All rights reserved.