2007-05-04

备忘:SimpleDateFormat类

关键字: 备忘
无聊的五一做无聊的事。
这个类的用法总是忘记,写一下,应该不要再忘了吧。
老了,这么简单的东西都记不住
很简单的东东,也是很无聊,唉,没办法。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
SimpleDateFormat函数语法:

G 年代标志符
y 年
M 月
d 日
h 时 在上午或下午 (1~12)
H 时 在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第几天
F 一月中第几个星期几
w 一年中第几个星期
W 一月中第几个星期
a 上午 / 下午 标记符 
k 时 在一天中 (1~24)
K 时 在上午或下午 (0~11)
z 时区
*/


public class FormatDateTime {

	public static final String LONG_DATE_STRING = "yyyy年MM月dd日 a HH时mm分ss秒 E ";
	
	public static final String SHORT_DATE_STRING = "yy年MM月dd日 HH时mm分";
	
	public static final String LONG_TIME_STRING = "HH mm ss SSSS";
	
	public static final String SHORT_TIME_STRING = "yy/MM/dd HH:mm";
	
	public static String toLongDateString(){
		return toLongDateString(new Date());
	}

	public static String toLongDateString(Date d){		
		return dateToString(d,LONG_DATE_STRING);		
	}
	
	public static String toShortDateString(){
		return toShortDateString(new Date());
	}
	
	public static String toShortDateString(Date d){
		return dateToString(d,SHORT_DATE_STRING);
	}
	
	public static String toLongTimeString(){
		return toLongTimeString(new Date());
	}
	
	public static String toLongTimeString(Date d){
		return dateToString(d, LONG_TIME_STRING);
	}
	
	public static String toShortTimeString(){
		return toShortTimeString(new Date());
	}
	public static String toShortTimeString(Date d){
		return  dateToString(d, SHORT_TIME_STRING);
	}
	
	public static String dateToString(String pattern){
		return dateToString(new Date(),pattern);
	}
	
	public static String dateToString(Date d, String pattern){
		SimpleDateFormat sdf = new SimpleDateFormat(pattern);
		return sdf.format(d);
	}
	
	public static Date stringToDate(String s,String pattern){
		SimpleDateFormat sdf = new SimpleDateFormat(pattern);
		Date d = null;
		try {
			d = sdf.parse(s);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return d;
	}
	
	public static void main(String[] args){
		System.out.println(FormatDateTime.toLongDateString());
		System.out.println(FormatDateTime.dateToString("yyyy-MM-dd"));
		System.out.println(FormatDateTime.dateToString(FormatDateTime.SHORT_DATE_STRING));
	
		System.out.print("DATE -> STRING......");
		Date now = new Date();
		System.out.println("Date is " + now.toString());
		String ds = FormatDateTime.dateToString(now, FormatDateTime.LONG_DATE_STRING);
		System.out.println(ds);
		System.out.print("STRING -> DATE......");
		Date d = FormatDateTime.stringToDate(ds,FormatDateTime.LONG_DATE_STRING);
		System.out.println("Date is " + d.toString());
	}
}
评论
发表评论

您还没有登录,请登录后发表评论