You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cypress中使用dayjs正确转换日期为指定格式

问题分析与解决方案

问题出在两个核心点:

  • 原代码未接收invoke('text')返回的文本参数,导致text变量未定义(语法错误);
  • dayjs默认将11/04/2023按MM/DD/YYYY(月/日/年)格式解析,把11识别为11月、4识别为4号,和你实际的DD/MM/YYYY(日/月/年)格式不匹配。

修正后的代码

cy.get("#eff-date").invoke('text').then((text) => {
  // 提取冒号后的日期部分并去除前后空格
  const dateStr = text.split(':')[1].trim();
  // 明确指定输入格式为DD/MM/YYYY,再转换为目标格式
  const edate = dayjs(dateStr, 'DD/MM/YYYY').format('DD-MMM-YYYY');
  // 可添加断言验证结果是否符合预期
  expect(edate).to.equal('11-Apr-2023');
});

关键细节说明

  • 给then回调传入参数text,才能正确获取元素的文本内容;
  • 通过dayjs(dateStr, 'DD/MM/YYYY')强制指定输入日期的解析规则,确保日、月、年被正确识别;
  • 调用.trim()清理日期字符串的前后空格,避免因多余空格导致解析失败。

内容的提问来源于stack exchange,提问作者Anil Tiwari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 14:07:04