java时间格式化的方法输出指定的形式



jaav获取某个时间的相应格式时间的格式化通常会设计到java.text.SimpleDateFormat,这就是时间格式化类。以下是相关的步骤与方法介绍:

我们先要定义一个SimpleDateFormat对象:

SimpleDateFormat sdf = new SimpleDateFormat(“”,Locale.SIMPLIFIED_CHINESE);

该构造函数的使用参数介绍:

SimpleDateFormat(String pattern, Locale locale)

参数pattern后面再解释,这里使用一个”",第二个参数的目的是用来设置时区的,我们使用到了java.util.Locale这个类,该类定义了很多静态变量,现在时区设置为Locale.SIMPLIFIED_CHINESE,通过看名字该静态变量的作用就已经是很明显的了。

下面用SimpleDateFormat进行时间的格式化,如“XXXX年XX月XX日_XX时XX分XX秒”,java时间格式化的代码如下:

sdf.applyPattern(“yyyy年MM月dd日_HH时mm分ss秒”);

String timeStr = sdf.format(new Date());


获取时间格式的函数是format,这个函数的参数是java.util.Date对象,这个没有什么花头。

这个pattern,就是个格式化的所谓的模式。这里,yyyy,MM,dd等。

可在SimpleDateFormat的构造函数中直接就指定模式,例如

SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”,Locale.SIMPLIFIED_CHINESE);

也可在获取时间格式的时用applyPattern函数临时指定。

什么字符代表什么,这是j2se约定好的,设置模式的时候,可使用约定好的字符加上任何想要的字符串。

j2se对字符所代表的模式的约定列表如下:

 

Letter Date or Time Component Presentation
G Era designator Text
y Year Year
M Month in year Month
w Week in year Number
W Week in month Number
D Day in year Number
d Day in month Number
F Day of week in month Number
E Day in week Text
a Am/pm marker Text
H Hour in day (0-23) Number
k Hour in day (1-24) Number
K Hour in am/pm (0-11) Number
h Hour in am/pm (1-12) Number
m Minute in hour Number
s Second in minute Number
S Millisecond Number
z Time zone General time zone
Z Time zone RFC 822 time zone