在java中有没有像“strptime”这样的函数

时间:2011-09-22 10:00:47

标签: java

假设有一个time_string,如:"wallclock(2011-09-22T01:52:00)"

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

获取日期时间并将其存储到struct tm中,

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

但在Java中,我找不到如何传输字符串"wallclock(2011-09-22T01:52:00)"

有没有办法做这个工作?谢谢你: - )

3 个答案:

答案 0 :(得分:12)

您可以使用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

答案 1 :(得分:1)

SimpleDateFormat会让你非常接近。

答案 2 :(得分:0)

使用SimpleDateFormat课程。它提供了您所需的功能。