您的位置:首页 > 编程语言 > Java开发

java 使用simpleDateFormat格式化日期 时间

2014-12-02 18:39 796 查看
首先了解一下格式化日志的所有表示。据目前我知道的。

[plain] view
plaincopy

时间日期标识符:

yyyy:年

MM:月

dd:日

hh:1~12小时制(1-12)

[plain] view
plaincopy

HH:24小时制(0-23)

mm:分

ss:秒

S:毫秒

E:星期几

D:一年中的第几天

F:一月中的第几个星期(会把这个月总共过的天数除以7)

w:一年中的第几个星期

W:一月中的第几星期(会根据实际情况来算)

a:上下午标识

k:和HH差不多,表示一天24小时制(1-24)。

K:和hh<span style="font-family: Arial, Helvetica, sans-serif;">差不多</span><span style="font-family: Arial, Helvetica, sans-serif;">,表示一天12小时制(0-11)。</span>

z:表示时区

要注意其中的大小写哦,不然会格式化后的日期会很乱的哦!!!

同时没个字母可以写多个,如:yyyyyyyyyyy。根据你的数大小,根据写的字母的长度,在前面补零。

比如:你要把2013 - 08 - 13 15:29:44这个时间格式化成2013 年 08 月 13 日 15 时 29 分 44 秒

一不小心把格式化日期中时间标识符中的大小写搞错了。

[java] view
plaincopy

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时MM分ss秒");

写成这样了。最后得到的结果就不对了。

[java] view
plaincopy

2013年08月14日 15时08分59秒

[java] view
plaincopy

这个MM这里写的是月份的表示。而分钟的表示则是mm。所以要注意、

下面是把日期格式话成最全的例子。

[java] view
plaincopy

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);

输出的结果:

[html] view
plaincopy

00002013-08-14 15(03):56:40 742 星期三 226 2 33 3 下午 15 3 CST

[java] view
plaincopy

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);

输出结果:

[html] view
plaincopy

现在是2013年08月14日 16(04)时 03分 03秒 812毫秒 星期星期三 今年的第226天 这个月的第2星期 今年的第33个星期 这个月的第3个星期 今天的下午 161~24制时间 40-11小时制时间 CST时区

标识符表格:

SymbolMeaningPresentationExample
Gera designatorTextAD
yyearNumber2009
Mmonth in yearText & NumberJuly & 07
dday in monthNumber10
hhour in am/pm (1-12)Number12
Hhour in day (0-23)Number0
mminute in hourNumber30
ssecond in minuteNumber55
SmillisecondNumber978
Eday in weekTextTuesday
Dday in yearNumber189
Fday of week in monthNumber2 (2nd Wed in July)
wweek in yearNumber27
Wweek in monthNumber2
aam/pm markerTextPM
khour in day (1-24)Number24
Khour in am/pm (0-11)Number0
ztime zoneTextPacific Standard Time
'escape for textDelimiter(none)
'single quoteLiteral'

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: