1

我做了一些谷歌搜索和堆叠,但找不到任何可以将 ISO-8601 格式转换为 Java 中的 Unix 时间的方法的必要资源。

我正在解析 NOAA(美国国家海洋大气管理局)的预测,并且使用 XPath 我能够成功解析该数据。但是,我想将 ISO-8601 即2013-10-31T14:00:00-07:00日期格式转换为 Unix 时间。

是否有任何 Java 库可以做到这一点?

我的代码做了什么:

for (int i = 0; i < tempHourlyResult.getLength(); i++) {
                writer.append(
                        hourlyResult.item(i).getNodeValue() + ","
                        + tempHourlyResult.item(i).getNodeValue()+ "," 
                        + dewPointResult.item(i).getNodeValue() + ","
                        + windSpeedResult.item(i).getNodeValue() +","
                        + relHumResult.item(i).getNodeValue() + "\n");
            }
4

1 回答 1

2

该类java.util.Date在内部以非常接近 POSIX 时间格式的格式存储时间(它使用毫秒而不是秒)。因此,假设您的日期在一个String名为的对象中stringDate

SimpleDateFormat dateParser = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
long dateInMilli = dateParser.parse(stringDate).getTime();
long posixDate = dateInMilli/1000
于 2013-10-31T18:33:02.053 回答