Java TimeUnit Convert toSeconds(long timeout, TimeUnit unit)

Here you can find the source of toSeconds(long timeout, TimeUnit unit)

Description

Converts the given timeout to seconds.

License

Apache License

Parameter

Parameter Description
timeout The timeout to convert
unit The timeout's unit

Return

The converted timeout

Declaration

public static long toSeconds(long timeout, TimeUnit unit) 

Method Source Code

//package com.java2s;
/*//w ww  . j  a  v a  2 s .c  om
 * Copyright 2013 the original author or authors.
 * 
 * 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.
 */

import java.util.concurrent.TimeUnit;

public class Main {
    /**
     * Converts the given timeout to seconds.
     * <p>
     * Since a 0 timeout blocks some Redis ops indefinitely, this method will return 1 if the original value is greater
     * than 0 but is truncated to 0 on conversion.
     * 
     * @param timeout The timeout to convert
     * @param unit The timeout's unit
     * @return The converted timeout
     */
    public static long toSeconds(long timeout, TimeUnit unit) {
        return roundUpIfNecessary(timeout, unit.toSeconds(timeout));

    }

    private static long roundUpIfNecessary(long timeout,
            long convertedTimeout) {
        // A 0 timeout blocks some Redis ops indefinitely, round up if that's
        // not the intention
        if (timeout > 0 && convertedTimeout == 0) {
            return 1;
        }
        return convertedTimeout;
    }
}

Related

  1. toMillis(long duration, TimeUnit unit)
  2. toMillis(long time, TimeUnit unit)
  3. toMillis(String timeUnitString, String timeValue)
  4. toNanos(long timeout, TimeUnit unit)
  5. toSeconds(long duration, TimeUnit timeUnit)
  6. toSeconds(long value, TimeUnit unit)
  7. toSIAbbreviation(final TimeUnit timeUnit)
  8. toString(TimeUnit unit)
  9. toString(TimeUnit unit)