Java tutorial
/** * Copyright (C) 2002-2005 WUZEWEN. All rights reserved. * WUZEWEN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package wzw.util; import java.util.Calendar; import org.apache.commons.lang.StringUtils; /** * <p>?</p> * * <pre> * getCurrentDate() =2007-06-07 * getCurrentDate('.') =2007.06.07 * getCurrentTime() =11:13:44 * getCurrentTime('.') =11.13.44 * getCerrentDateAndTime() =2007-06-07 11:13:44 * getYear(2002-09-13?) =2002 * getYear(2002-9-13?) =2002 * getYear(2002-9-1?) =2002 * getMonth(2002-09-13?) =09 * getMonth(2002-9-13?) =9 * getMonth(2002-9-1?) =9 * getDay(2002-09-13?) =13 * getDay(2002-9-13?) =13 * getDay(2002-9-1?) =1 * getDay(2002-9-01?) =01 * getDay(2002-9-1 12:02:05?) =1 * </pre> * * @author WZWEN on 2006-09-01 * */ public class DateUtils { /** * ??? yyyy-mm-dd * @return ? */ public static String getCurrentDate() { return getXXXDate(0, "-"); } /** * ???yyyy, mm, dd * @param sep "-",".","/" * @return */ public static String getCurrentDate(String sep) { return getXXXDate(0, sep); } /** * ?? * @param i ?????? * @param sep "-",".","/" * @return */ private static String getXXXDate(int i, String sep) { //if (x.equals("") || x == null) // x = "-"; Calendar calendar = Calendar.getInstance(); calendar.add(5, -i); //???i=0 is today int j = calendar.get(1); int k = calendar.get(2) + 1; int l = calendar.get(5); return j + sep + formatString(k, 2) + sep + formatString(l, 2); } /** * ?? '2''02' * @param i ? * @param j * @return */ private static String formatString(int i, int j) { String s; for (s = String.valueOf(i); s.length() < j; s = "0" + s) ; return s; } /** * ??? * @param i ??? * @param sep ? * @return */ private static String getYYYDate(int i, String sep) { //if (x.equals("") || x == null) // x = "-"; Calendar calendar = Calendar.getInstance(); calendar.add(2, -i); //???i=0 int j = calendar.get(1); int k = calendar.get(2) + 1; int l = calendar.get(5); return j + sep + formatString(k, 2) + sep + formatString(l, 2); } /** * ??? hh:mi:ss * @return ? '12:15:59' */ public static String getCurrentTime() { return getXXXTime(":"); } /** * ?? * @param sep ??? * @return */ public static String getCurrentTime(String sep) { return getXXXTime(sep); } private static String getXXXTime(String x) { //if (x.equals("") || x == null) // x = ":"; Calendar calendar = Calendar.getInstance(); int h = calendar.get(11); int m = calendar.get(12); int s = calendar.get(13); return formatString(h, 2) + x + formatString(m, 2) + x + formatString(s, 2); } /** * ? * @return '2006-09-12 11:25:30' */ public static String getCerrentDateTime() { return getCurrentDate() + " " + getCurrentTime(); //.substring(0,4) } /** * ?number? ?yyyymmdd? day ??? * @param day ??? * @return */ public static String getDateBeforeDay(int day) { String dateStr = getXXXDate(day, "-"); return dateStr; } /** * * ?number? ?yyyymmdd? day ??? * @param day ??? * @param sep * @return */ public static String getDateBeforeDay(int day, String sep) { String dateStr = getXXXDate(day, sep); return dateStr; } /** * ?number? ?yyyymmdd? * @param month * @return */ public static String getDateBeforeMonth(int month) { String dateStr = getYYYDate(month, "-"); return dateStr; } /** * ? year to_char( DateColn,'yyyy-mm-dd') * @param str_date 2006-09-20'-' * @return */ public static String getYear(String str_date) { return getYear(str_date, "-"); } public static String getYear(String str_date, String sep) { return str_date.substring(0, str_date.indexOf(sep)); } /** * ? month to_char( DateColn,'yyyy-mm-dd') * @param str_date 2006-09-20'-' * @return */ public static String getMonth(String str_date) { return getMonth(str_date, "-"); } public static String getMonth(String str_date, String sep) { return str_date.substring(str_date.indexOf(sep) + 1, str_date.lastIndexOf(sep)); } /** * ? day to_char( DateColn,'yyyy-mm-dd') * @param str_date 2006-09-20'-' * @return */ public static String getDay(String str_date) { return getDay(str_date, "-"); } public static String getDay(String str_date, String sep) { if (str_date.indexOf(" ") > 0) { return str_date.substring(str_date.lastIndexOf(sep) + 1, str_date.indexOf(" ")); } else { return str_date.substring(str_date.lastIndexOf(sep) + 1); } } /** * @param args */ public static void main(String[] args) { // ??? int pad = 35; System.out.println(StringUtils.rightPad("getCurrentDate()", pad, " ") + "=" + getCurrentDate()); System.out.println(StringUtils.rightPad("getCurrentDate('.')", pad, " ") + "=" + getCurrentDate(".")); System.out.println(StringUtils.rightPad("getCurrentTime()", pad, " ") + "=" + getCurrentTime()); System.out.println(StringUtils.rightPad("getCurrentTime('.')", pad, " ") + "=" + getCurrentTime(".")); System.out.println(StringUtils.rightPad("getCerrentDateAndTime()", pad, " ") + "=" + getCerrentDateTime()); System.out .println(StringUtils.rightPad("getYear(2002-09-13?)", pad, " ") + "=" + getYear("2002-09-13")); System.out.println(StringUtils.rightPad("getYear(2002-9-13?)", pad, " ") + "=" + getYear("2002-9-13")); System.out.println(StringUtils.rightPad("getYear(2002-9-1?)", pad, " ") + "=" + getYear("2002-9-1")); System.out.println( StringUtils.rightPad("getMonth(2002-09-13?)", pad, " ") + "=" + getMonth("2002-09-13")); System.out .println(StringUtils.rightPad("getMonth(2002-9-13?)", pad, " ") + "=" + getMonth("2002-9-13")); System.out.println(StringUtils.rightPad("getMonth(2002-9-1?)", pad, " ") + "=" + getMonth("2002-9-1")); System.out.println(StringUtils.rightPad("getDay(2002-09-13?)", pad, " ") + "=" + getDay("2002-09-13")); System.out.println(StringUtils.rightPad("getDay(2002-9-13?)", pad, " ") + "=" + getDay("2002-9-13")); System.out.println(StringUtils.rightPad("getDay(2002-9-1?)", pad, " ") + "=" + getDay("2002-9-1")); System.out.println(StringUtils.rightPad("getDay(2002-9-01?)", pad, " ") + "=" + getDay("2002-9-01")); System.out.println(StringUtils.rightPad("getDay(2002-9-1 12:02:05?)", pad, " ") + "=" + getDay("2002-9-1 12:02:05")); } }