日期处理和信息绑定
1. 日期处理:
1) 我们现在使用java来处理日期时,一般是使用Calendar类来获取日期,调用其方法来对日期赋值和加减的。
2) 如果想格式化日期,需要用到SimpleDateFormat类来处理,可以把日期格式化成想要是的String格式,也可以把String解析为Calendar,即分别调用SimpleDateFormat类中的format和parse方法。
(注:在SimpleDateFormat类中使用的日期格式,在该类中已定义!)
2. 日期处理举例:
1) 对于BBP项目中的日期处理:
参考com.innov8tion.util. DateUtil中的方法。
2) 我自己写了个日期处理的方式:
下面主要贴出源码:
public class testDateHandler {
public static void main(String[] args){
Calendar c = Calendar.getInstance();
String pattern[] = {"yyyy-MM-dd HH:mm:ss", "yyyy/MM/dd", "yyyy/MM"};
System.out.println("now date is " + c.getTime());
SimpleDateFormat format = new SimpleDateFormat(pattern[0]);
String dateResult = format.format(c.getTime());
System.out.println("date format(yyyy-MM-dd HH:mm:ss) = " + dateResult);
format = new SimpleDateFormat(pattern[1]);
dateResult = format.format(c.getTime());
System.out.println("date format(yyyy/MM/dd) = " + dateResult);
format = new SimpleDateFormat(pattern[2]);
dateResult = format.format(c.getTime());
System.out.println("date format(yyyy/MM) = " + dateResult);
format = new SimpleDateFormat(pattern[2]);
dateResult = format.format(c.getTime()) + "/01";
System.out.println("date format(yyyy/MM/01) = " + dateResult);
format = new SimpleDateFormat("yyyy/MM/dd");
try {
Date resultDate = format.parse(dateResult);
c.setTime(resultDate);
System.out.println(c.get(Calendar.YEAR) + "/" + c.get(Calendar.MONTH) + "/" + c.get(Calendar.DAY_OF_MONTH));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
3. 信息绑定:
1) 信息绑定是使用MessageFormat类来处理的,如果能结合.properties文件,即使用ResourceBundle类,效果会更好,基本上,在Struts中使用的是这种形式。
4. 信息绑定举例:
(一) 首先我在src文件下(即classpath下)创建了一个app.properties,文件内容是:
errors.required = {0} is required.
(二) 然后,我写了个测试类,先来取其中的内容,然后,创建了MessageFormat类,最后,进行格式化。源码如下:
public class TestMessageHandler {
public static void main(String[] args){
ResourceBundle resource = ResourceBundle.getBundle("app");
String value = resource.getString("errors.required");
MessageFormat format = new MessageFormat(value);
String result = format.format(new Object[]{"user name"});
System.out.println("result is : " + result);
}
}