Java TimeUnit Convert toIntervalFromNow(long timeback, TimeUnit unit)

Here you can find the source of toIntervalFromNow(long timeback, TimeUnit unit)

Description

to Interval From Now

License

Apache License

Declaration

public static Interval toIntervalFromNow(long timeback, TimeUnit unit) 

Method Source Code


//package com.java2s;
/* Copyright (c) 2011 Danish Maritime Authority.
 *
 * 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.//from   w ww. j a v a2s  .  c o m
 */

import java.util.Calendar;
import java.util.Date;
import java.util.concurrent.TimeUnit;
import org.joda.time.DateTime;
import org.joda.time.Interval;

public class Main {
    public static Interval toIntervalFromNow(long timeback, TimeUnit unit) {
        Date now = new Date();
        return toInterval(substract(now, timeback, unit), now);
    }

    public static Interval toInterval(Date startDate, Date endDate) {
        return new Interval(startDate.getTime(), endDate.getTime());
    }

    public static Interval toInterval(String isoXXInterval) {
        if (!isoXXInterval.contains("/")) {
            isoXXInterval += "/" + DateTime.now();
        }
        return Interval.parse(isoXXInterval);
    }

    static Date substract(Date date, long durationToSubstract, TimeUnit unit) {
        long result = unit.toSeconds(durationToSubstract);
        if (result >= Integer.MAX_VALUE) {
            throw new IllegalArgumentException("Cannot substract " + durationToSubstract);
        }
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        c.add(Calendar.SECOND, -(int) result);
        return c.getTime();
    }
}

Related

  1. millisecondsTo(long milliseconds, final TimeUnit timeUnit)
  2. millisToDuration(final int val, final TimeUnit unit)
  3. stringToTimeUnit(String str)
  4. substract(Date date, long durationToSubstract, TimeUnit unit)
  5. timeToNanoSeconds(TimeUnit unit, long time)
  6. toMillis(Double sourceValue, TimeUnit sourceUnit)
  7. toMillis(final long interval, final TimeUnit tu)
  8. toMillis(int duration, TimeUnit unit)
  9. toMillis(long duration, TimeUnit timeUnit)