2011-04-27 86 views
1

我如何转换JAVA日期转换

Wed Apr 27 17:53:48 PKT 2011 

Apr 27, 2011 5:53:48 PM. 
+0

你有日期对象,你问如何输出它不同,或者你有第一个字符串,你想通过日期转换为第二个? – Yossale 2011-04-27 13:18:26

+0

我有一个日期对象,我想输出它的不同。 – 2011-04-27 13:21:22

回答

5
new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a.").format(yourDate); 
2

可以使用的SimpleDateFormat或JodaTime的解析器。

但是,编写自己的字符串解析器可能很简单,因为您只是重新排列字段。

1
SimpleDateFormat sdf = new SimpleDateFormat ("MMM dd, yyyy hh:mm:ss a"); 

String str = sdf.format(date) 
0
new java.text.SimpleDateFormat("MMM d, yyyy h:mm:ss a").format(date); 

我注意到您所需的输出有一天没有0,这样的格式字符串为前缀的需要应该有小时只有一个'h'。我猜你希望每月的一天有类似的行为,所以模式也只包含一个'd'。

1

可以使用JDK的结构和Joda time做到这一点:

import java.text.DateFormat; 
import java.text.ParseException; 
import java.text.SimpleDateFormat; 
import java.util.Date; 

import org.joda.time.DateTime; 
import org.joda.time.format.DateTimeFormat; 
import org.joda.time.format.DateTimeFormatter; 

public class SO5804637 { 

    public static void main(String[] args) throws ParseException { 
     DateFormat df = 
      new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy"); 
     Date d = df.parse("Wed Apr 27 17:53:48 PKT 2011"); 
     DateTimeFormatter dtf = 
      DateTimeFormat.forPattern("MMM dd, yyyy hh:mm:ss a"); 
     DateTime dt = new DateTime(d); 
     System.out.println(dt.toString(dtf)); 
    } 

} 

注:我已经包括了import语句要清楚,我使用的是什么类。

1

嗯,你可以将这个样子,

import java.util.Date; 
import java.text.ParseException; 
import java.text.SimpleDateFormat; 

public class StringToDateDemo 
{ 
    public static void main(String[] args) throws ParseException 
    { 
     String strDate = "Apr 27, 2011 5:53:48 pm"; 
     SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a"); 
     Date dt = sdf.parse(strDate); 
     System.out.println(dt); 
    } 
} 

输出:

Apr 27, 2011 5:53:48 PM 

参考和来源:

https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html

http://www.flowerbrackets.com/java-convert-string-date/