Mega Code Archive

 
Categories / Java / Data Type
 

Date Utils

/* ** Caramel - Non-GUI Java Addons ** Copyright (c) 2001, 2002, 2003 by Gerald Bauer ** ** This program is free software. ** ** You may redistribute it and/or modify it under the terms of the GNU ** Lesser General Public License as published by the Free Software Foundation. ** Version 2.1 of the license should be included with this distribution in ** the file LICENSE, as well as License.html. If the license is not ** included with this distribution, you may find a copy at the FSF web ** site at 'www.gnu.org' or 'www.fsf.org', or you may write to the ** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA. ** ** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, ** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR ** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY ** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR ** REDISTRIBUTION OF THIS SOFTWARE. ** */ import java.text.*; import java.util.*; public class DateUtils {    /**     *  RFC 1123 date format example: Mon, 06 May 1996 04:57:00 GMT - days: Mon,     *  Tue, Wed, Thu, Fri, Sat, Sun - months: Jan, Feb, Mar, Apr, May, Jun, Jul,     *  Aug, Sep, Oct, Nov, Dec     */    private static SimpleDateFormat _df;    public static String getDate()    {       Calendar cal = Calendar.getInstance();       cal.setTime( new Date() );       int year = cal.get( Calendar.YEAR );       int month = cal.get( Calendar.MONTH ) + 1;       int day = cal.get( Calendar.DAY_OF_MONTH );       return "" + year              + "-" + month              + "-" + day;    }    /**     *  convienence method returns current timestamp     */    public static String getHttpDate()    {       return getHttpDate( new Date() );    }    public static String getHttpDate( long timestamp )    {       return getHttpDate( new Date( timestamp ) );    }    public static String getHttpDate( Date date )    {       return _df.format( date );    }    public static String getTime()    {       Calendar cal = Calendar.getInstance();       cal.setTime( new Date() );       int hours = cal.get( Calendar.HOUR_OF_DAY );       // use 24 hour clock       int minutes = cal.get( Calendar.MINUTE );       int seconds = cal.get( Calendar.SECOND );       int milli = cal.get( Calendar.MILLISECOND );       return formatTime( hours, minutes, seconds, milli );    }    public static String getTimestamp()    {       Calendar cal = Calendar.getInstance();       cal.setTime( new Date() );       int year = cal.get( Calendar.YEAR );       int month = cal.get( Calendar.MONTH ) + 1;       int day = cal.get( Calendar.DAY_OF_MONTH );       int hours = cal.get( Calendar.HOUR_OF_DAY );       // use 24 hour clock       int minutes = cal.get( Calendar.MINUTE );       int seconds = cal.get( Calendar.SECOND );       int milli = cal.get( Calendar.MILLISECOND );       return "" + year              + "-" + month              + "-" + day              + "_" + formatTime( hours, minutes, seconds, milli );    }    private static String formatTime( int hours, int minutes, int seconds, int milli )    {       StringBuffer buf = new StringBuffer();       buf.append( "" + hours );       buf.append( "." );       if( minutes < 10 )          buf.append( "0" + minutes );       else          buf.append( "" + minutes );       buf.append( "." );       if( seconds < 10 )          buf.append( "0" + seconds );       else          buf.append( "" + seconds );       buf.append( "-" );       if( milli < 10 )          buf.append( "00" + milli );       else if( milli < 100 )          buf.append( "0" + milli );       else          buf.append( "" + milli );       return buf.toString();    }    static    {       _df = new SimpleDateFormat( "EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US );       _df.setTimeZone( TimeZone.getTimeZone( "GMT" ) );    } }