Java tutorial
/* ** 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")); } }