All Downloads are FREE. Search and download functionalities are using the official Maven repository.

me.shib.java.lib.utils.WorklogUtils Maven / Gradle / Ivy

package me.shib.java.lib.utils;

import me.shib.java.lib.jiraclient.WorkLog;
import org.joda.time.DurationFieldType;
import org.joda.time.Period;
import org.joda.time.PeriodType;

/**
 * Created by mariusmerkevicius on 1/30/16.
 * A set of utils static methods help set {@link WorkLog}
 */
public class WorklogUtils {

    /**
     * Formats duration time into pretty string format
     * Does not output seconds
     *
     * @param durationInSeconds provided duration to format
     * @return formatted duration
     */
    public static String formatDurationFromSeconds(long durationInSeconds) {
        if (durationInSeconds < 60)
            return "0m";
        StringBuilder builder = new StringBuilder();
        PeriodType type = PeriodType.forFields(new DurationFieldType[]{
                DurationFieldType.hours(),
                DurationFieldType.minutes()
        });

        Period period = new Period(1000 * durationInSeconds, type);
        if (period.getHours() != 0)
            builder.append(period.getHours()).append("h").append(" ");
        if (period.getMinutes() != 0)
            builder.append(period.getMinutes()).append("m").append(" ");
        if ((builder.length() > 0) && builder.charAt(builder.length() - 1) == " ".charAt(0))
            builder.deleteCharAt(builder.length() - 1);
        return builder.toString();
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy