package me.evis.mobile.util;
import me.evis.mobile.noodle.R;
import android.content.Context;
import android.util.Log;
public class DateTimeUtil {
private DateTimeUtil() {
// No instance.
}
public static int calculateSeconds(int[] dhms) {
if (dhms.length < 4) {
Log.e(DateTimeUtil.class.getCanonicalName(),
"Input parameter does not match dd/hh/mm/ss array format.");
return 0;
}
final int day = dhms[0];
final int hour = dhms[1];
final int minute = dhms[2];
final int second = dhms[3];
return day * 86400 + hour * 3600 + minute * 60 + second;
}
public static int[] calculateDhms(int seconds) {
final int day = seconds / 86400;
final int hour = seconds % 86400 / 3600;
final int minute = seconds % 86400 % 3600 / 60;
final int second = seconds % 86400 % 3600 % 60;
return new int[] {day, hour, minute, second};
}
public static String getLocalizedTimeString(Context context, int seconds) {
final int[] dhms = calculateDhms(seconds);
final int day = dhms[0];
final int hour = dhms[1];
final int minute = dhms[2];
final int second = dhms[3];
StringBuffer sb = new StringBuffer();
if (day > 0) {
sb.append(context.getString(R.string.time_days, day));
}
if (hour > 0) {
sb.append(context.getString(R.string.time_hours, hour));
}
if (minute > 0) {
sb.append(context.getString(R.string.time_minutes, minute));
}
if (second > 0 || seconds == 0) {
sb.append(context.getString(R.string.time_seconds, second));
}
return sb.toString();
}
}