to 楼主,下面是令一种实现的方式,使用java.text.SimpleDateFormat.
并附带测试样例:
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
public final class DateUtils {
private static final SimpleDateFormat YEAR_FORMAT = new SimpleDateFormat("yyyy");
private static final SimpleDateFormat MONTH_FORMAT = new SimpleDateFormat("MM");
private static final SimpleDateFormat DAY_FORMAT = new SimpleDateFormat("dd");
private static final SimpleDateFormat HOUR_FORMAT = new SimpleDateFormat("HH");
private static final SimpleDateFormat MINUTE_FORMAT = new SimpleDateFormat("mm");
private static final SimpleDateFormat SECOND_FORMAT = new SimpleDateFormat("ss");
public static String formatYear(Date date) {
return date==null?null:YEAR_FORMAT.format(date);
}
public static String formatMonth(Date date) {
return date==null?null:MONTH_FORMAT.format(date);
}
public static String formatDay(Date date) {
return date==null?null:DAY_FORMAT.format(date);
}
public static String formatHour(Date date) {
return date==null?null:HOUR_FORMAT.format(date);
}
public static String formatMinute(Date date) {
return date==null?null:MINUTE_FORMAT.format(date);
}
public static String formatSecond(Date date) {
return date==null?null:SECOND_FORMAT.format(date);
}
// for unit test below
private static final SimpleDateFormat NORMAL_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
static Date parse(String dateString) throws ParseException {
return dateString==null||dateString.length()==0?null:NORMAL_FORMAT.parse(dateString);
}
}
-----------------------------------------------
单元测试:
import junit.framework.TestCase;
import java.util.Date;
public class TestDateUtils extends TestCase {
public TestDateUtils(String name) {super(name);}
public void testFormatDate() throws Exception {
String testDate = "2003-03-12 15:34:54";
Date d = DateUtils.parse(testDate);
assertNotNull(d);
import java.util.*;
import java.io.*;
public class ServerDateTime{//服务器的时间
private Calendar calendar = null;
private int year;
private int month;
private int day;
private int hour;
private int minute;
private int second;
private long time;