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

Reply via email to