Java中是否有类似"strptime"的功能



假设存在一个time_string: "wallclock(2011-09-22T01:52:00)"

C语言中的

,我可以使用"strptime(time_string, "wallclock(%Y-%m-%dT%H:%M:%S)", &tm) "

获取日期时间并将其存储到结构体tm中,

,然后使用mktime(&tm)以秒为单位获取日期

但是在Java中,我找不到关于如何转移字符串"wallclock(2011-09-22T01:52:00)"的方法,

有什么方法可以做这个工作吗?谢谢:-)

您可以使用SimpleDateFormat:

DateFormat format = new SimpleDateFormat("'wallclock('yyyy-MM-dd'T'HH:mm:ss')'");
Date parsed = format.parse(text);

(注意,您可能想要适当地设置format的时区。)

或者最好(IMO)使用Joda Time进行解析:

String pattern = "'wallclock('yyyy-MM-dd'T'HH:mm:ss')'";
DateTimeFormatter formatter = DateTimeFormatter.forPattern(pattern);
LocalDateTime localDateTime = formatter.parseLocalDateTime(text);

这将解析为没有时区的LocalDateTime

在Java 8中,您将使用java.time.format.DateTimeFormatter

SimpleDateFormat会让你非常接近。

使用SimpleDateFormat class。它提供了您需要的功能。

最新更新