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" ) ); } }