假设有一个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)"
,
有没有办法做这个工作?谢谢你: - )
答案 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
课程。它提供了您所需的功能。