当前位置: 首页 > 知识库问答 >
问题:

模仿简单的日期格式

黄淇
2023-03-14

我有一个变量当前日期=新的SimpleDateFormat("ddMMyyyy_HHmmss",区域设置。英语)。格式(新日期());在一个类在测试情况下,我需要嘲笑它。我尝试过这样

SimpleDateFormat formatter = new SimpleDateFormat("ddMMyyyy_HHmmss",
            Locale.ENGLISH);
    when(formatter.format(any(Date.class))).thenReturn("18022022_201939");

但事实的确如此

giving me无法将给定对象格式化为日期

在一台机器和另一台机器上

它给我的日期不能为空。

我是Junit新手,需要帮助解决这个问题

共有1个答案

越俊驰
2023-03-14

正如Jon Skeet提到的那样,嘲笑SimpleDateFormat是没有意义的。我建议验证从您正在测试的方法返回的日期值,而不是嘲笑SimpleDateFormat。类似下面的测试。

    class DateValidator
    {
        String getDate()
        {
            String currentDate = new SimpleDateFormat("ddMMyyyy_HHmmss", Locale.ENGLISH).format(new Date());
            return currentDate;
        }
    }
    @Test
    public void test()
    {
        String date = new SimpleDateFormat("ddMMyyyy_HHmmss", Locale.ENGLISH).format(new Date());
        assertThat(new DateValidator().getDate()).isEqualTo(date);

    }
 类似资料:
  • 我正在尝试将DatePicker日期格式化为简单的数据格式(“yyyy-MM-dd HH: mm: ss Z”)。有人告诉我,我需要使用简单的数据格式将其解析为日期对象-简单的数据格式(“yyyy-MM-dd”),然后将其格式化为我需要的内容,如下所示。但是,我在尝试捕捉块中收到错误“重复局部变量eDate”。任何专家都可以查看我的代码并提出建议吗? 已更新

  • 问题内容: 如果我有一个日期,而我想要的只是这样的月份和日期(mm / dd),然后把这个月份变成08年7月,您将如何写日期 问题答案: 让我看看我是否理解得很好。 您有“ 07/08”之类的日期,并且想要“ 08年7月”? 您可以尝试SimpleDateFormat

  • 问题内容: 这是我的日期字符串: “ 07SEP2014 00:00” 这是将字符串转换为日期的代码: 而且我正在解析异常。我做错了什么? 问题答案: 您的代码有效-只要您的系统具有SEP = September的语言环境。您可以设置区域设置来确保这一点:

  • 我有一个字符串变量,其中包含以下格式的日期和时间 编辑: 我需要使用简单的格式将其转换并解析为这种日期格式,如下所示: 但是我不知道使用简单格式转换的字符串模式。 我已经给出了 但它给了我错误的输出。 simpledateformat sdf的字符串模式是否正确?如果我错了,有人可以请纠正我在转换新日期到日期和格式。

  • 本文向大家介绍jQuery实现简单的日期输入格式化控件,包括了jQuery实现简单的日期输入格式化控件的使用技巧和注意事项,需要的朋友参考一下 js代码有一百多行。 先上效果图  html代码 日期: <input type="text" id="dateInputer" class="hhm-dateInputer" placeholder="请输入日期"> 设置input元素类名为 hhm-d