Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中解析日期?日期格式上的一些混淆_Java_Android_Date_Date Format - Fatal编程技术网

如何在Java中解析日期?日期格式上的一些混淆

如何在Java中解析日期?日期格式上的一些混淆,java,android,date,date-format,Java,Android,Date,Date Format,我曾使用twitter,并使用API获取推文,为此我正在使用twitter4j库。 我在推特上得到的日期是“Thu Feb 26 00:16:19 EST 2015”,这是一个日期字符串。如何将此日期字符串解析为日期对象 Java 7或以下版本: 如果您使用Java 7或更低版本,则可以像这样解析日期(有关日期时间格式的更多信息,请参见此处): Java8: Java 8有一个新的日期/时间API(Java.time),因此您可以使用新的API进行类似的解析: 要将解析的日期/时间转换为本地时区

我曾使用twitter,并使用API获取推文,为此我正在使用twitter4j库。
我在推特上得到的日期是“
Thu Feb 26 00:16:19 EST 2015
”,这是一个日期字符串。如何将此日期字符串解析为日期对象

Java 7或以下版本:

如果您使用Java 7或更低版本,则可以像这样解析日期(有关日期时间格式的更多信息,请参见此处):

Java8:

Java 8有一个新的日期/时间API(Java.time),因此您可以使用新的API进行类似的解析:

要将解析的日期/时间转换为本地时区(当前计算机时区),请执行以下操作:

如果需要保留原始字符串中的时区信息,请使用ZonedDateTime而不是LocalDateTime:

public static ZonedDateTime java8Zoned() {
    String dateAsString = "Thu Feb 26 00:16:19 EST 2015";

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z yyyy");
    return ZonedDateTime.parse(dateAsString, formatter);
}
有关java.time API中日期/时间格式的详细信息:


另外,请注意,旧的SimpleDataFormat和新的java 8 DateTimeFormat之间的关键区别在于SimpleDataFormat不是线程安全的。这意味着您不能跨多个并行线程使用相同的格式化程序实例。但是,新的DateTimeFormatter是线程安全的。

DateFormat df=new SimpleDateFormat(“MM/dd/yyyy”);datestartdate=df.parse(startDateString)-更多关于此的信息
public static LocalDateTime java8() {
    String dateAsString = "Thu Feb 26 00:16:19 EST 2015";

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z yyyy");
    return LocalDateTime.parse(dateAsString, formatter);
}
public static ZonedDateTime java8Zoned() {
    String dateAsString = "Thu Feb 26 00:16:19 EST 2015";

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss z yyyy");
    return ZonedDateTime.parse(dateAsString, formatter);
}