原博客地址: http://blog.csdn.net/yangbobo1992/article/details/9965105
日期格式:
时间日期标识符:
yyyy:年
MM:月
dd:日
hh:~12小时制(-) HH:24小时制(-)
mm:分
ss:秒
S:毫秒
E:星期几
D:一年中的第几天
F:一月中的第几个星期(会把这个月总共过的天数除以7)
w:一年中的第几个星期
W:一月中的第几星期(会根据实际情况来算)
a:上下午标识
k:和HH差不多,表示一天24小时制(-)。
K:和hh<span style="font-family: Arial, Helvetica, sans-serif;">差不多</span><span style="font-family: Arial, Helvetica, sans-serif;">,表示一天12小时制(-)。</span>
z:表示时区
要注意其中的大小写哦,不然会格式化后的日期会很乱的哦!!!
同时没个字母可以写多个,如:yyyyyyyyyyy。根据你的数大小,根据写的字母的长度,在前面补零。
比如:你要把2013 - 08 - 13 15:29:44这个时间格式化成2013 年 08 月 13 日 15 时 29 分 44 秒
一不小心把格式化日期中时间标识符中的大小写搞错了。
例子1: 会有线程安全问题
SimpleDateFormat sdf = new SimpleDateFormat("yyyyyyyy-MM-dd HH(hh):mm:ss S E D F w W a k K z");
long times = System.currentTimeMillis();
System.out.println(times);
Date date = new Date(times);
String tim = sdf.format(date);
System.out.println(tim);
输出:
-- ():: 星期三 下午 CST
例子2:
SimpleDateFormat sdf = new SimpleDateFormat("现在是yyyy年MM月dd日 HH(hh)时 mm分 ss秒 S毫秒 星期E 今年的第D天 这个月的第F星期 今年的第w个星期 这个月的第W个星期 今天的a k1~24制时间 K0-11小时制时间 z时区");
long times = System.currentTimeMillis();
System.out.println(times);
Date date = new Date(times);
String tim = sdf.format(date);
System.out.println(tim);
输出:
现在是2013年08月14日 ()时 03分 03秒 812毫秒 星期星期三 今年的第226天 这个月的第2星期 今年的第33个星期 这个月的第3个星期 今天的下午 ~24制时间 -11小时制时间 CST时区
String Date Calendar 之间的转换:
原文地址: http://www.cnblogs.com/qima/p/3652566.html
1, Calendar转String:
Calendar calendat = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String dateStr = sdf.format(calendar.getTime());
2, String 转Calendar
String str="2012-5-27"; SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd"); Date date =sdf.parse(str); Calendar calendar = Calendar.getInstance(); calendar.setTime(date);
3, Date 转String
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd"); String dateStr=sdf.format(new Date());
4, String 转Date
String str="2012-5-27"; SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd"); Date date= sdf.parse(str);
5, Date 转 Calendar
Calendar calendar = Calendar.getInstance(); calendar.setTime(new java.util.Date());
6, Calendar 转 Date
Calendar calendar = Calendar.getInstance(); java.util.Date date =calendar.getTime();
7, String 转 TimeStamp
Timestamp ts = Timestamp.valueOf("2012-1-14 08:11:00");
8, Date 转 TimeStamp
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = df.format(new Date()); Timestamp ts = Timestamp.valueOf(time);
**注意:
使用java原生的SimpleDataFormat或者 Calendar的话, 会产生县城安装问题, 因为在其内部实现中, 引用了一个成员变量
可以使用 commons.long3 包下的 fastDateFormat来进行转换
内部有一个 ThreadLoad, 来支持, 所以不会产生资源问题