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 |