在Java中更改复杂日期的格式

时间:2014-05-15 18:48:50

标签: java date

如果您愿意,我正在尝试返回文件的有效日期或到期日期。目前,我有一个示例程序打印出所有需要的信息,但不完全符合我的格式。我的代码打印出来:

2014年5月15日星期四04:57:36

但我需要打印出来像这样:

Thu,2013年5月15日04:57:36 PDT

正如你所看到的,非常相似,但并不是在正确的地方。这是我的测试代码,它给了我第一个结果:

    import java.util.Calendar;
    import java.util.Date;

    public class TestCalendar{
       public static void main(String[] args){
          Calendar currentDate = Calendar.getInstance();
          currentDate.setTime(new Date());
          currentDate.add(Calendar.MINUTE, 24);
          Date newDate = currentDate.getTime();

          System.out.println("Date: " + newDate);
       }
    }

这段代码增加了24分钟到当前时间,然后打印出来,我只是想弄清楚如何重新格式化这个日期。 SimpleDateFormat似乎不会起作用,但我可能错了。我无法弄明白。

提前感谢任何人能给我的帮助!!

2 个答案:

答案 0 :(得分:0)

System.out.println("Date: " + newDate);

toString()实例上调用Date,该实例具有固定格式,您无法修改

您需要的是format()您的Date实例使用SimpleDateFormat确定字符串

答案 1 :(得分:0)

使用SimpleDateFormat

DateFormat formatter= new SimpleDateFormat("E, d MMM yyyy hh:mm:ss zzz");
Calendar currentDate = Calendar.getInstance();
currentDate.setTime(new Date());
currentDate.add(Calendar.MINUTE, 24);
Date newDate = currentDate.getTime();
System.out.println(formatter.format(newDate));