On Fri, Feb 27, 2009 at 9:52 PM, <xor at freenetproject.org> 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 > cvs at freenetproject.org > http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs >
