Java 将字符串转换为日期格式

Java 将字符串转换为日期格式,java,android,string,date,Java,Android,String,Date,我想要这种格式2012年12月6日12:10 String time = "2012-12-08 13:39:57 +0000 "; DateFormat sdf = new SimpleDateFormat("hh:mm:ss"); Date date = sdf.parse(time); System.out.println("Time: " + date); 将简化格式更改为: String time = "2012-12-08 13:39:57 +0000"; Da

我想要这种格式
2012年12月6日12:10

  String time = "2012-12-08 13:39:57 +0000 ";

  DateFormat sdf = new SimpleDateFormat("hh:mm:ss");
  Date date = sdf.parse(time);

  System.out.println("Time: " + date);

将简化格式更改为:

String time = "2012-12-08 13:39:57 +0000";
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
Date date = sdf.parse(time);
DateFormat sdf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss");
String formatedTime = sdf.format(date);
System.out.println("Time: " + formatedTime);

看看SimpleDataFormat。代码是这样的:

SimpleDateFormat fromUser = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd");

String reformattedStr = myFormat.format(fromUser.parse(inputString));

您需要首先解析日期字符串(使用方法),以使用与
日期字符串
格式匹配的格式获取
日期对象

然后在
simpleDataFormat
中使用所需格式格式化该日期对象(使用方法),以获取字符串

String time = "2012-12-08 13:39:57 +0000";

Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(time);
String str = new SimpleDateFormat("dd MMM yyyy HH:mm:ss").format(date);

System.out.println(str);
输出:-

08 Dec 2012 19:09:57

第一种格式中的
Z
用于匹配日期字符串中的
+0000
。有关在日期格式中使用的各种其他选项,请参阅。

您可以使用SimpleDataFormat类来执行此操作! 例如:


这是我知道的,但我得到了不可解析的字符串异常。我在日志中得到了这个。。。。java.lang.IllegalArgumentException:未知模式字符-'X'@kettu。。好吧,这对我来说很有效。无论如何,尝试使用
Z
而不是
X
<代码>“yyyy-MM-dd HH:MM:ssZ”
获得了具有此。。。日期=新的SimpleDataFormat(“yyyy-MM-dd-HH:MM”).parse(时间1);字符串str=新的SimpleDataFormat(“dd-MMM-yyy-HH:mm”)。格式(日期);非常感谢..@kettu。。哦你想一直到
mm
?是的,我在问题中注意到了。不管怎样,很高兴你得到了它。不客气:)谢谢大家的回复。。。
08 Dec 2012 19:09:57
DateFormat mydate1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1 = mydate1.parse(time);