使用:
String URL = driver.getCurrentUrl();
我得到这样的结果:
firstname=&lastname=&sex=Male&exp=1&datepicker=11%2F30%2F2020&photo=&continents=asia&submit=
我必须提取日期并按以下格式打印:yyyy-mm-dd,即得到2020-11-30。有人知道吗?谢谢!
使用:
String URL = driver.getCurrentUrl();
我得到这样的结果:
firstname=&lastname=&sex=Male&exp=1&datepicker=11%2F30%2F2020&photo=&continents=asia&submit=
我必须提取日期并按以下格式打印:yyyy-mm-dd,即得到2020-11-30。有人知道吗?谢谢!
2条答案
按热度按时间bn31dyow1#
我假设getcurrenturl()返回完整的url,而不仅仅是查询字符串。
在高层次上,我认为这个过程
url解码字符串
将查询字符串解析为Map
将datepicker值从mm dd yyyy转换为yyyy mm dd,即iso8601
步骤1和步骤2可以通过一个库来完成,比如okhttp
如果您不想使用该库,那么在另一个问题中有一些零依赖选项。
步骤3有一些选项,这取决于您需要的健壮程度。
直接字符串操作。
使用库或内置日期工具。
如果这无关紧要的话,字符串操作将是最简单的。只需创建一个带有yyyy、'-'和mm-dd的新字符串。
缺点是它没有提供任何验证日期的方法。
这是一个图书馆选项
anauzrmj2#
您可以创建
Map<String, String> paramMap
超出给定的url字符串。处理url字符串,并将参数名作为键和参数值作为值存储到
Map
.获取密钥的值,
datepicker
从这个Map
并将其解析为日期对象,并将日期对象格式化为所需格式的字符串。自api发布之日起java.util
以及它们的格式化api,SimpleDateFormat
我建议您使用现代的日期时间api。在trail:date-time了解有关现代日期时间api的更多信息。我写了两种方法的解决方案,现代的
java.time
日期时间api以及遗留的java.util
日期时间api。输出: