将字符串转换为日期格式

时间:2012-12-20 07:49:50

标签: java android string date

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

5 个答案:

答案 0 :(得分:8)

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

然后格式化使用SimpleDateFormat中所需格式的Date对象(使用DateFormat#format()方法)来获取字符串。

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

答案 1 :(得分: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);

答案 2 :(得分:3)

看看SimpleDateFormat。代码如下:

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

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

答案 3 :(得分:1)

SimpleDateFormat simpleDateFormat=new SimpleDateFormat("dd-MM-yyyy");
Date date=simpleDateFormat.parse("23-09-2008");

答案 4 :(得分:1)

您可以使用SimpleDateFormat类来执行此操作! 这样:

DateFormat mydate1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1 = mydate1.parse(time);