package org.ovirt.engine.ui.uicompat; import java.util.Date; import org.ovirt.engine.core.compat.TimeSpan; public class DateTimeUtils { /** * @param source * @returnReturns Date object with zero time. * For example: getDate(05/05/10 12:45:00) will return 05/05/10 00:00 */ public static Date getDate(Date source) { Date date = new Date(source.getTime()); date.setHours(0); date.setMinutes(0); date.setSeconds(0); return date; // } /** * @return The maximum date and time which is 12/31/9999 23:59:59 IST */ public static Date getMaxValue() { // Time in millis that represents Fri Dec 31 23:59:59 IST 9999 return new Date(253402293599807l); } /** * @return The minimum date and time (Epoch time) which is 1/1/1970 00:00:00 IST */ public static Date getMinValue() { // Time in millis that represents Thu Jan 01 00:00:00 IST 1970 return new Date(-7200000); } /** * @param source * @return A String contains the time part of a date object, for example: 05/05/10 12:45:00 will return "12:45" */ public static String toShortTimeString(Date source) { // TODO Add locale support to show the time in 12 hours format return new String(source.getHours() + ":" + source.getMinutes()); } /** * @param source * @return Object of type TimeSpan containing the time part of date. */ public static TimeSpan getTimeOfDay(Date source) { return new TimeSpan(source.getHours(), source.getMinutes(), source.getSeconds()); } /** * @param date * @param time * @return The original date minus the time span given in the "time" parameter */ public static Date substract(Date date, TimeSpan time) { return new Date((date.getTime() - time.TotalMilliseconds)); } /** * @param date * @param time * @return The original date plus the time span given in the "time" parameter */ public static Date add(Date date, TimeSpan time) { return new Date((date.getTime() + time.TotalMilliseconds)); } /** * @param date * @param time * @return The original date plus the number of days given in the "days" parameter */ public static Date addDays(Date date, int days) { return add(date, new TimeSpan(days, 0, 0, 0)); } }