将时间戳从一种格式转换为另一种格式

时间:2015-03-30 08:50:12

标签: java

我的时间戳为2015-02-12T12:47:17.101+05:30。在java中,我只想获得MMM_dd_yyyy。我试过SimpleDateFormat类。但我无法得到它。你能告诉我如何获得月,日和年吗? 的更新:

public static void main(String[] a ) {
 SimpleDateFormat sdf = new SimpleDateFormat("MMM_dd_yyyy");
 System.out.println(sdf.format("2015-02-12T12:47:17.101+05:30"));
}

我收到java.lang.IllegalArgumentException错误。可能是什么问题?

4 个答案:

答案 0 :(得分:4)

您的SimpleDateFormat仅格式化日期和时间戳。您正在通过String

要正确执行此操作,请先将您拥有的字符串解析为日期。然后使用格式化程序对其进行格式化。

//Java 7 and above
try {
  SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSX");
  Date date
  date = inputFormat.parse("2015-02-12T12:47:17.101+05:30");
  SimpleDateFormat outputFormat = new SimpleDateFormat("MMM_dd_yyyy");
  System.out.println(outputFormat.format(date));
}catch(Exception e){
  //cannot happen in this example
}

答案 1 :(得分:0)

像这样使用SimpleDateFormat:

public static void main(String args[])
{

    // This is how to get today's date in Java
    Date today = new Date();

    //formatting date in Java using SimpleDateFormat
    SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MM_dd_yyyy");
    String date = DATE_FORMAT.format(today);
    System.out.println("Today in MM_dd_yyyy format : " + date);

}

根据this example

答案 2 :(得分:0)

试试这个:

public static void main(String[] a) {
    Timestamp timestamp = new Timestamp(System.currentTimeMillis());

    DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy HH:mm");
    String text = dateFormat.format(timestamp);

    System.out.println(text);
}

答案 3 :(得分:-1)

尝试使用以下代码:

SimpleDateFormat sdf = new SimpleDateFormat("MMM_dd_yyyy");
sdf.format(yourTimestamp);