Java+Selenium环境下如何将dd.mm.yy格式日期转为dd/mm/yy格式?
Java + Selenium 环境下
dd.mm.yy格式日期转dd/mm/yy的解决方案 下面提供两种常用的实现方案,可根据你的业务场景选择:
无校验快速转换方案
如果你能确保从页面获取的日期一定是合法的dd.mm.yy格式,直接做字符替换即可,性能最优:// 从Selenium页面元素获取原始日期 String originalDate = driver.findElement(By.id("你的日期元素ID")).getText().trim(); // 替换所有点为斜杠 String targetDate = originalDate.replace('.', '/'); // 如需回填到输入框可使用以下代码 WebElement dateInput = driver.findElement(By.id("目标输入框ID")); dateInput.clear(); dateInput.sendKeys(targetDate);带日期合法性校验的转换方案
如果你需要先校验日期的合法性再做转换,推荐使用Java 8+内置的java.time时间API实现,避免老版SimpleDateFormat的线程安全问题:import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.Locale; // 定义原始格式和目标格式规则 DateTimeFormatter sourceFormat = DateTimeFormatter.ofPattern("dd.MM.yy", Locale.ENGLISH); DateTimeFormatter targetFormat = DateTimeFormatter.ofPattern("dd/MM/yy", Locale.ENGLISH); try { // 从页面获取原始日期 String originalDate = driver.findElement(By.id("你的日期元素ID")).getText().trim(); // 解析日期,格式不合法会抛出异常 LocalDate date = LocalDate.parse(originalDate, sourceFormat); // 格式化为目标样式 String targetDate = date.format(targetFormat); // 后续业务操作 driver.findElement(By.id("目标输入框ID")).sendKeys(targetDate); } catch (Exception e) { // 自定义异常处理逻辑,比如日志打印、用例标记失败等 System.out.println("日期转换失败,原始值为:" + originalDate); e.printStackTrace(); }
内容的提问来源于stack exchange,提问作者Lior p
相关产品推荐
相关产品推荐

