1

我有以下内容:

String[] string_dates = new String[10]
// read in strings formatted via fmt1 dd-MMM-yy)

Date[] date_dates = new Date[10];
for (int i = 0; i < 9; i++){
    date_dates[i] = fmt1.parse(string_dates[i]);

将 date_dates[] 中的日期格式化为 dd-MM-yyyy 格式的最有效方法是什么?我是否应该先将 strings_dates[] 中的字符串转换为 dd-MM-yyyy 格式,然后将它们读入日期?谢谢你。

4

2 回答 2

2

ADate表示自 Unix 纪元以来的毫秒数。它没有自己的格式的概念(除了由创建的格式之外,toString不用担心)......

将日期的表示形式转换String为 aDate后,您应该使用适当的格式化程序将该日期格式化为您想要的任何格式...

String[] stringDates = {
    "01-MAR-2013",
    "02-MAR-2013",
    "03-MAR-2013",
    "04-MAR-2013",
    "05-MAR-2013",
    "06-MAR-2013",
    "07-MAR-2013",
    "08-MAR-2013",
    "09-MAR-2013",
    "10-MAR-2013"};

SimpleDateFormat inFormat = new SimpleDateFormat("dd-MMM-yyyy");
Date[] dates = new Date[stringDates.length];
for (int i = 0; i < stringDates.length; i++) {
    try {
        dates[i] = inFormat.parse(stringDates[i]);
    } catch (ParseException ex) {
        ex.printStackTrace();
    }
}

SimpleDateFormat outFormat = new SimpleDateFormat("dd-MM-yyyy");
for (Date date : dates) {
    System.out.println("[" + date + "] - [" + outFormat.format(date) + "]");
}   

哪个产生...

[Fri Mar 01 00:00:00 EST 2013] - [01-03-2013]
[Sat Mar 02 00:00:00 EST 2013] - [02-03-2013]
[Sun Mar 03 00:00:00 EST 2013] - [03-03-2013]
[Mon Mar 04 00:00:00 EST 2013] - [04-03-2013]
[Tue Mar 05 00:00:00 EST 2013] - [05-03-2013]
[Wed Mar 06 00:00:00 EST 2013] - [06-03-2013]
[Thu Mar 07 00:00:00 EST 2013] - [07-03-2013]
[Fri Mar 08 00:00:00 EST 2013] - [08-03-2013]
[Sat Mar 09 00:00:00 EST 2013] - [09-03-2013]
[Sun Mar 10 00:00:00 EST 2013] - [10-03-2013]

您应该避免保存格式化文件的诱惑Date,而只需保留Date对象并根据需要对其进行格式化。

于 2013-09-23T05:49:49.230 回答
2

您可以使用 java 中的以下 SimpledateFormat 将字符串格式化为日期类型。以下是示例

    SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
String dateInString = "7-Jun-2013";

  try {

    Date date = formatter.parse(dateInString);
    System.out.println(date);
    System.out.println(formatter.format(date));

} catch (ParseException e) {
    e.printStackTrace();
}

注意 有关完整的日期和时间模式,请参阅此java.text.SimpleDateFormat JavaDoc。

那么在你的情况下,请看看这些资源点击这里

你可以给“dd-MM-yyy”。请尝试一下

于 2013-09-23T05:50:06.623 回答