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

发布于 2024-12-13 00:09:11 字数 171 浏览 0 评论 0原文

我的日期格式为 2011-11-02。从这个日期开始,我们如何知道Day-of-weekMonthDay-of-month,就像这种格式Wednesday-Nov-02,从日历还是任何其他方式?

I have date in this format 2011-11-02. From this date, how can we know the Day-of-week, Month and Day-of-month, like in this format Wednesday-Nov-02, from calendar or any other way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

甜是你 2024-12-20 00:09:11

如果是普通的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后,似乎是写的。格式部分应该与黑莓的 SimpleDateFormat 配合使用,但是您需要使用其他东西来解析日期...HttpDateParser 看起来很有前途。我没有安装 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);
}

If it were normal java, you would use two SimpleDateFormats - one to read and one to write:

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);

Output:

Wednesday-Nov-02

As a function (ie static method) it would look like:

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

Warning:
Do not be tempted to make read or write into static fields to save instantiating them every method invocation, because SimpleDateFormat is not thread safe!

Edited

However, after consulting the Blackberry Java 5.0 API doc, it seems the write.format part should work with blackberry's SimpleDateFormat, but you'll need to parse the date using something else... HttpDateParser looks promising. I don't have that JDK installed, but try this:

public static String reformat(String source) {
    SimpleDateFormat write = new SimpleDateFormat("EEEE-MMM-dd");
    Date date = new Date(HttpDateParser.parse(source));
    return write.format(date);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文