4

我想要这种格式 6 Dec 2012 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);
4

5 回答 5

8

您需要首先解析您的日期字符串(使用DateFormat#parse()方法)以Date使用与date string.

然后使用所需的格式格式化该日期对象(使用方法)以获取字符串。DateFormat#format()SimpleDateFormat

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第一种格式是RFC 822 TimeZone+0000在您的日期字符串中匹配。有关SimpleDateFormat要在您的日期格式中使用的各种其他选项,请参阅。

于 2012-12-20T07:56:02.023 回答
4

更改SimpleDateFormat为:

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);
于 2012-12-20T07:50:53.960 回答
3

看看 SimpleDateFormat。代码是这样的:

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

String reformattedStr = myFormat.format(fromUser.parse(inputString));
于 2012-12-20T07:53:35.617 回答
1
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("dd-MM-yyyy");
Date date=simpleDateFormat.parse("23-09-2008");
于 2012-12-20T07:52:29.420 回答
1

您可以使用 SimpleDateFormat 类来做到这一点!这样的:

DateFormat mydate1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1 = mydate1.parse(time);
于 2012-12-20T08:15:16.700 回答