将日期从yyyy-mm-dd转换为日月日期

时间:2011-11-02 05:01:32

标签: date blackberry java-me date-format

我的日期格式为2011-11-02。从此日期开始,我们如何通过日历或任何其他方式了解Day-of-weekMonthDay-of-month,如此格式Wednesday-Nov-02

1 个答案:

答案 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));
}

警告:
不要试图将readwrite放入静态字段以保存每次方法调用时实例化它们,因为 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);
}