Java中的解析日期如何?对日期格式有些混淆

Java中的解析日期如何?对日期格式有些混淆,第1张

概述我使用Twitter和使用API​​获取推文,我正在使用twitter4j库.在那里,我的推文日期为“2月26日星期二0000:16:192015”,这是一个日期字符串.如何将此日期字符串解析为Date对象.解决方法:Java7或更低版​​本:如果您使用Java7或更低版​​本,那么您可以像这样解析日期(有关日期

我使用Twitter和使用API​​获取推文,我正在使用twitter4j库.
在那里,我的推文日期为“2月26日星期二00 00:16:19 2015”,这是一个日期字符串.如何将此日期字符串解析为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);}

如果您需要保留原始字符串的时区信息,请使用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中日期/时间格式的更多信息:https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

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

总结

以上是内存溢出为你收集整理的Java中的解析日期如何?对日期格式有些混淆全部内容,希望文章能够帮你解决Java中的解析日期如何?对日期格式有些混淆所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1107806.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存