On Fri, Feb 27, 2009 at 9:52 PM, <[email protected]> wrote: > Author: xor > Date: 2009-02-27 13:52:20 +0000 (Fri, 27 Feb 2009) > New Revision: 25849 > > Added: > trunk/freenet/src/freenet/support/CurrentTimeUTC.java
FileLoggerHook is using date.setTime(System.currentTimeMillis()) and DateFormat I don't aware of any other class need utc time data. better keep it to WoT/Freetalk for the moment. > Log: > Add a new class which will be used by Freetalk & WoT for obtaining the UTC > time easily - Unfortunately what java provides for that is a mess :| > > Added: trunk/freenet/src/freenet/support/CurrentTimeUTC.java > =================================================================== > --- trunk/freenet/src/freenet/support/CurrentTimeUTC.java > (rev 0) > +++ trunk/freenet/src/freenet/support/CurrentTimeUTC.java 2009-02-27 > 13:52:20 UTC (rev 25849) > @@ -0,0 +1,59 @@ > +/* This code is part of Freenet. It is distributed under the GNU General > + * Public License, version 2 (or at your option any later version). See > + * http://www.gnu.org/ for further details of the GPL. */ > +package freenet.support; > + > +import java.util.Calendar; > +import java.util.Date; > +import java.util.GregorianCalendar; > +import java.util.TimeZone; > + > + > +/** > + * A wrapper class around a GregorianCalendar which always returns the > current time. > + * This is useful for working around the pitfall of class Calendar: It only > returns the current time when you first use a get*() function, > + * in any get*() calls after the first call, the time value of the first > call is returned. One would have to call Calendar.clear() before each > + * get to obtain the current time and this class takes care of that for you. > + * > + * Further, this class is synchronized so you do not need to worry about > synchronization of a Calendar anymore. > + */ > +public class CurrentTimeUTC { > + > + private static final GregorianCalendar mCalendar = new > GregorianCalendar(TimeZone.getTimeZone("UTC")); > + > + public static Date get() { > + synchronized(mCalendar) { > + mCalendar.clear(); > + return mCalendar.getTime(); > + } > + } > + > + public static long getInMillis() { > + synchronized(mCalendar) { > + mCalendar.clear(); > + return mCalendar.getTimeInMillis(); > + } > + } > + > + public static int getYear() { > + synchronized(mCalendar) { > + mCalendar.clear(); > + return mCalendar.get(Calendar.YEAR); > + } > + } > + > + public static int getMonth() { > + synchronized(mCalendar) { > + mCalendar.clear(); > + return mCalendar.get(Calendar.MONTH); > + } > + } > + > + public static int getDayOfMonth() { > + synchronized(mCalendar) { > + mCalendar.clear(); > + return mCalendar.get(Calendar.DAY_OF_MONTH); > + } > + } > + > +} > > _______________________________________________ > cvs mailing list > [email protected] > http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs > _______________________________________________ Devl mailing list [email protected] http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
