Java字符串日期转换问题

时间:2015-04-03 12:37:03

标签: java

我真的很感激任何人都可以提供帮助。     我在字符串中获取日期(2014-11-12T00:00:00Z),现在我想转换为格式(2014-11-12T00:00:00-04:00)。

How can we do that in java?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用JodaTime

String str = "2014-11-12T00:00:00Z";
String pattern = "yyyy-MM-dd'T'HH:mm:ssZ";
DateTimeFormatter dtf = DateTimeFormat.forPattern(pattern);
DateTime dateTime = dtf.parseDateTime(str);
System.out.println(dateTime);  //2014-11-12T00:00:00-04:00

编辑:

String s = "2014-11-12T00:00:00Z";
String pattern = "yyyy-MM-dd'T'HH:mm:ssZ";
Date date = new SimpleDateFormat(pattern, Locale.ENGLISH).parse(s);
DateTime d = new DateTime(date.getTime());
System.out.println(d);

答案 1 :(得分:0)

约达时间

使用Joda-Time库或Java 8中内置的类似java.time包。

使用proper name指定所需的时区。避免使用3或4个字母代码,因为它们既不标准也不唯一。

ISO 8601

您的字符串格式符合ISO 8601标准。默认情况下,在Joda-Time和java.time中使用该标准来解析和生成字符串。

Joda-Time 2.7中的示例。

DateTimeZone zone = DateTimeZone.forID( "America/Martinique" );
DateTime dateTime = new DateTime( yourInputString, zone );
String output = DateTime.toString();