我的日期格式为2011-11-02
。从此日期开始,我们如何通过日历或任何其他方式了解Day-of-week
,Month
和Day-of-month
,如此格式Wednesday-Nov-02
?
答案 0 :(得分:13)
如果它是普通的java,你会使用两个SimpleDateFormats - 一个读取,一个写:
SimpleDateFormat read = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat write = new SimpleDateFormat("EEEE-MMM-dd");
String str = write.format(read.parse("2011-11-02"));
System.out.println(str);
输出:
Wednesday-Nov-02
作为一个函数(即静态方法),它看起来像:
public static String reformat(String source) throws ParseException {
SimpleDateFormat read = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat write = new SimpleDateFormat("EEEE-MMM-dd");
return write.format(read.parse(source));
}
警告:
不要试图将read
或write
放入静态字段以保存每次方法调用时实例化它们,因为 SimpleDateFormat不是线程安全的!
但是,在咨询Blackberry Java 5.0 API doc之后,似乎write.format
部分应该与黑莓SimpleDateFormat一起使用,但您需要使用其他内容解析日期... {{看起来很有希望。我没有安装JDK,但试试这个:
public static String reformat(String source) {
SimpleDateFormat write = new SimpleDateFormat("EEEE-MMM-dd");
Date date = new Date(HttpDateParser.parse(source));
return write.format(date);
}