gpt4 book ai didi

java - Java中用正则表达式提取日期的问题

转载 作者:行者123 更新时间:2023-12-04 06:05:21 26 4
gpt4 key购买 nike

对于某个 API,我在 /Date(1323312018479-0700)/ 中获取日期格式。出于某种原因,我使用的正则表达式不会导致任何匹配。

有什么想法吗?

顺便说一句:我现在没有考虑时区。

public static Date parseApiDate(String rawDate) {
Pattern p = Pattern.compile("([0-9]+)-([0-9]+)", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(rawDate);

Log.d("DATE CONVERSION: Raw", rawDate);
if (m.matches()) {
String utc = m.group(1);
int milliSeconds = Integer.parseInt(utc);
Date date = new Date(milliSeconds);

Log.d("DATE CONVERSION: milliseconds", utc);
Log.d("DATE CONVERSION: Converted", date.toGMTString());

return date;
} else {
return new Date(0);
}
}

最佳答案

您需要 m.find()而不是 m.matches() .那么你需要Long.parseLong()
通常,您应该使用 DateFormat 解析日期( SimpleDateFormat ),但在这种情况下它无法应对。图案SZ失败,也许是因为不确定时区从哪里开始(尽管它应该能够做到)

关于java - Java中用正则表达式提取日期的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8423669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com