我有这种格式的日期:Sun Oct 19 01:00:00 ADT 2014
我需要将其转换为以下格式,但我不能,
这是我的代码:
// The test string
String str = "Sun Oct 19 01:00:00 ADT 2014";
// Formatter for the input date
final DateTimeFormatter inputFormat =
DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy");
// The parsed date
final LocalDateTime parsed = LocalDateTime.parse(str, inputFormat);
// The output format(s). Specify the one you need
final DateTimeFormatter outputFormat1 = DateTimeFormatter.ofPattern("yyyy/MM/dd");
final DateTimeFormatter outputFormat2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// Print
System.out.println(outputFormat1.format(parsed)); // -> 2014/10/21
System.out.println(outputFormat2.format(parsed)); // -> 2014-10-21
但它根本不起作用,我从早上开始坚持这个,真的不知道如何解决它,有没有人有任何想法?
答案 0 :(得分:1)
使用此代码有什么问题。它适用于第19次
// The test string
String str = "Sun Oct 19 01:00:00 ADT 2014";
// Formatter for the input date
final DateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
// The parsed date
final Date parsed = inputFormat.parse(str);
// The output format(s). Specify the one you need
final DateFormat outputFormat1 = new SimpleDateFormat("yyyy/MM/dd");
final DateFormat outputFormat2 = new SimpleDateFormat("yyyy-MM-dd");
// Print
System.out.println(outputFormat1.format(parsed)); // -> 2014/10/21
System.out.println(outputFormat2.format(parsed)); // -> 2014-10-21
答案 1 :(得分:1)
我希望您使用的是JDK8,您的导入是以下内容:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
然后是以下代码:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
// The test string
String str = "Sun Oct 19 01:00:00 ADT 2014";
// Formatter for the input date
final DateTimeFormatter inputFormat =
DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy");
// The parsed date
final LocalDateTime parsed = LocalDateTime.parse(str, inputFormat);
// The output format(s). Specify the one you need
final DateTimeFormatter outputFormat1 = DateTimeFormatter.ofPattern("yyyy/MM/dd");
final DateTimeFormatter outputFormat2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// Print
System.out.println(outputFormat1.format(parsed)); // -> 2014/10/21
System.out.println(outputFormat2.format(parsed)); // -> 2014-10-21
}
}
按预期打印:
2014/10/19
2014-10-19
如果您想打印2014/10/21
,只需将str
更改为:
String str = "Tue Oct 21 01:00:00 ADT 2014";