Adempiere 3.5.2a

org.compiere.util
Class TimeUtil

java.lang.Object
  extended by org.compiere.util.TimeUtil

public class TimeUtil
extends Object

Time Utilities

Version:
$Id: TimeUtil.java,v 1.3 2006/07/30 00:54:35 jjanke Exp $
Author:
Jorg Janke

Field Summary
static String TRUNC_DAY
          Truncate Day - D
static String TRUNC_MONTH
          Truncate Month - MM
static String TRUNC_QUARTER
          Truncate Quarter - Q
static String TRUNC_WEEK
          Truncate Week - W
static String TRUNC_YEAR
          Truncate Year - Y
 
Constructor Summary
TimeUtil()
           
 
Method Summary
static Timestamp addDays(Timestamp day, int offset)
          Return Day + offset (truncates)
static Timestamp addMinutess(Timestamp dateTime, int offset)
          Return DateTime + offset in minutes
static String formatElapsed(long elapsedMS)
          Format Elapsed Time
static String formatElapsed(Timestamp start)
          Format Elapsed Time until now
static String formatElapsed(Timestamp start, Timestamp end)
          Format Elapsed Time
static Timestamp getDay(int year, int month, int day)
          Get earliest time of a day (truncate)
static Timestamp getDay(long time)
          Get earliest time of a day (truncate)
static Timestamp getDay(Timestamp dayTime)
          Get earliest time of a day (truncate)
static int getDaysBetween(Timestamp start, Timestamp end)
          Calculate the number of days between start and end.
static Timestamp getDayTime(Timestamp day, Timestamp time)
          Return the day and time
static Timestamp getMonthLastDay(Timestamp day)
          Get last date in month
static Timestamp getNextDay(Timestamp day)
          Get earliest time of next day
static Calendar getToday()
          Get today (truncate)
static boolean inRange(Timestamp start, Timestamp end, boolean OnMonday, boolean OnTuesday, boolean OnWednesday, boolean OnThursday, boolean OnFriday, boolean OnSaturday, boolean OnSunday)
          Is start..end on one of the days ?
static boolean inRange(Timestamp start_1, Timestamp end_1, Timestamp start_2, Timestamp end_2)
          Is the _1 in the Range of _2 Time_1 +--x--+ Time_2 +a+ +---b---+ +c+ The function returns true for b and false for a/b.
static boolean isAllDay(Timestamp start, Timestamp end)
          Is all day
static boolean isSameDay(Timestamp one, Timestamp two)
          Is it the same day
static boolean isSameHour(Timestamp one, Timestamp two)
          Is it the same hour
static boolean isValid(Timestamp validFrom, Timestamp validTo)
          Is it valid today?
static boolean isValid(Timestamp validFrom, Timestamp validTo, Timestamp testDate)
          Is it valid on test date
static void main(String[] args)
          Test
static Timestamp max(Timestamp ts1, Timestamp ts2)
          Max date
static Timestamp trunc(Timestamp dayTime, String trunc)
          Get truncated day/time
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TRUNC_DAY

public static final String TRUNC_DAY
Truncate Day - D

See Also:
Constant Field Values

TRUNC_WEEK

public static final String TRUNC_WEEK
Truncate Week - W

See Also:
Constant Field Values

TRUNC_MONTH

public static final String TRUNC_MONTH
Truncate Month - MM

See Also:
Constant Field Values

TRUNC_QUARTER

public static final String TRUNC_QUARTER
Truncate Quarter - Q

See Also:
Constant Field Values

TRUNC_YEAR

public static final String TRUNC_YEAR
Truncate Year - Y

See Also:
Constant Field Values
Constructor Detail

TimeUtil

public TimeUtil()
Method Detail

getDay

public static Timestamp getDay(long time)
Get earliest time of a day (truncate)

Parameters:
time - day and time
Returns:
day with 00:00

getDay

public static Timestamp getDay(Timestamp dayTime)
Get earliest time of a day (truncate)

Parameters:
dayTime - day and time
Returns:
day with 00:00

getDay

public static Timestamp getDay(int year,
                               int month,
                               int day)
Get earliest time of a day (truncate)

Parameters:
day - day 1..31
month - month 1..12
year - year (if two diguts: < 50 is 2000; > 50 is 1900)
Returns:
timestamp ** not too reliable

getToday

public static Calendar getToday()
Get today (truncate)

Returns:
day with 00:00

getNextDay

public static Timestamp getNextDay(Timestamp day)
Get earliest time of next day

Parameters:
day - day
Returns:
next day with 00:00

getMonthLastDay

public static Timestamp getMonthLastDay(Timestamp day)
Get last date in month

Parameters:
day - day
Returns:
last day with 00:00

getDayTime

public static Timestamp getDayTime(Timestamp day,
                                   Timestamp time)
Return the day and time

Parameters:
day - day part
time - time part
Returns:
day + time

inRange

public static boolean inRange(Timestamp start_1,
                              Timestamp end_1,
                              Timestamp start_2,
                              Timestamp end_2)
Is the _1 in the Range of _2
                Time_1         +--x--+
                Time_2   +a+      +---b---+   +c+
        
The function returns true for b and false for a/b.

Parameters:
start_1 - start (1)
end_1 - not included end (1)
start_2 - start (2)
end_2 - not included (2)
Returns:
true if in range

inRange

public static boolean inRange(Timestamp start,
                              Timestamp end,
                              boolean OnMonday,
                              boolean OnTuesday,
                              boolean OnWednesday,
                              boolean OnThursday,
                              boolean OnFriday,
                              boolean OnSaturday,
                              boolean OnSunday)
Is start..end on one of the days ?

Parameters:
start - start day
end - end day (not including)
OnMonday - true if OK
OnTuesday - true if OK
OnWednesday - true if OK
OnThursday - true if OK
OnFriday - true if OK
OnSaturday - true if OK
OnSunday - true if OK
Returns:
true if on one of the days

isSameDay

public static boolean isSameDay(Timestamp one,
                                Timestamp two)
Is it the same day

Parameters:
one - day
two - compared day
Returns:
true if the same day

isSameHour

public static boolean isSameHour(Timestamp one,
                                 Timestamp two)
Is it the same hour

Parameters:
one - day/time
two - compared day/time
Returns:
true if the same day

isAllDay

public static boolean isAllDay(Timestamp start,
                               Timestamp end)
Is all day

Parameters:
start - start date
end - end date
Returns:
true if all day (00:00-00:00 next day)

getDaysBetween

public static int getDaysBetween(Timestamp start,
                                 Timestamp end)
Calculate the number of days between start and end.

Parameters:
start - start date
end - end date
Returns:
number of days (0 = same)

addDays

public static Timestamp addDays(Timestamp day,
                                int offset)
Return Day + offset (truncates)

Parameters:
day - Day
offset - day offset
Returns:
Day + offset at 00:00

addMinutess

public static Timestamp addMinutess(Timestamp dateTime,
                                    int offset)
Return DateTime + offset in minutes

Parameters:
dateTime - Date and Time
offset - minute offset
Returns:
dateTime + offset in minutes

formatElapsed

public static String formatElapsed(Timestamp start,
                                   Timestamp end)
Format Elapsed Time

Parameters:
start - start time or null for now
end - end time or null for now
Returns:
formatted time string 1'23:59:59.999

formatElapsed

public static String formatElapsed(Timestamp start)
Format Elapsed Time until now

Parameters:
start - start time
Returns:
formatted time string 1'23:59:59.999

formatElapsed

public static String formatElapsed(long elapsedMS)
Format Elapsed Time

Parameters:
elapsedMS - time in ms
Returns:
formatted time string 1'23:59:59.999 - d'hh:mm:ss.xxx

isValid

public static boolean isValid(Timestamp validFrom,
                              Timestamp validTo)
Is it valid today?

Parameters:
validFrom - valid from
validTo - valid to
Returns:
true if walid

isValid

public static boolean isValid(Timestamp validFrom,
                              Timestamp validTo,
                              Timestamp testDate)
Is it valid on test date

Parameters:
validFrom - valid from
validTo - valid to
testDate - Date
Returns:
true if walid

max

public static Timestamp max(Timestamp ts1,
                            Timestamp ts2)
Max date

Parameters:
ts1 - p1
ts2 - p2
Returns:
max time

trunc

public static Timestamp trunc(Timestamp dayTime,
                              String trunc)
Get truncated day/time

Parameters:
dayTime - day
trunc - how to truncate TRUNC_*
Returns:
next day with 00:00

main

public static void main(String[] args)
Test

Parameters:
args - ignored

Adempiere 3.5.2a

Adempiere® is a registered trademark of ADempiere Business Inc. ©2004-2008 HumanFlash.com All rights reserved.