Here you can find the source of computeDays(ZonedDateTime Start, ZonedDateTime End)
Parameter | Description |
---|---|
Start | a parameter |
End | a parameter |
public static int computeDays(ZonedDateTime Start, ZonedDateTime End)
//package com.java2s; /* =========================================================================== * Copyright (C) 2015 CapsicoHealth Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License./*ww w .j av a 2 s.com*/ */ import java.time.ZonedDateTime; import java.time.temporal.ChronoUnit; public class Main { /** * Comput ethe number of days using th emidnight rule, i.e., from 23:59 Monday night to 00:01 Tuesday morning, that * counts as one day. * @param Start * @param End * @return */ public static int computeDays(ZonedDateTime Start, ZonedDateTime End) { int days = (int) ChronoUnit.DAYS.between(Start, End); if (secondsSinceMidnight(Start) > secondsSinceMidnight(End)) ++days; return days; } private static int secondsSinceMidnight(ZonedDateTime ZDT) { // LOG.debug("hour: "+ZDT.getHour()+"; minute: "+ZDT.getMinute()+"; second: "+ZDT.getSecond()+";"); return ZDT.getHour() * 60 * 60 + ZDT.getMinute() * 60 + ZDT.getSecond(); } }