我曾使用Twitter API获取推文并使用twitter4j库进行操作。在此过程中,我得到一条推文的日期字符串为"Thu Feb 26 00:16:19 EST 2015
"。请问如何将其转换为Java的Date对象?
我曾使用Twitter API获取推文并使用twitter4j库进行操作。在此过程中,我得到一条推文的日期字符串为"Thu Feb 26 00:16:19 EST 2015
"。请问如何将其转换为Java的Date对象?
Java 7或更低版本:
如果您使用的是Java 7或更低版本,则可以像这样解析日期(有关日期时间格式的更多信息,请参见http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html):
public static Date java7() throws ParseException {
String dateAsString = "Thu Feb 26 00:16:19 EST 2015";
DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
return df.parse(dateAsString);
}
Java 8:
Java 8 新增了一个日期/时间 API (java.time),因此您可以使用该新 API 进行解析:
要将解析的日期/时间转换为本地时区(当前计算机时区):
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);
}