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

如何在java中更改值new Date()

呼延升
2023-03-14

在我的应用程序中,当测试人员测试应用程序时,日期和时间需要频繁更改。目前,我们必须使用系统命令date-s来更改系统时间,但这将导致服务器上的其他应用程序也受到影响。我只想更改这个应用程序的日期(),不想更改应用程序本身,因为有太多地方使用了新的日期

共有1个答案

徐文斌
2023-03-14

java。util。日期API非常古老。它被CalendarAPI所取代,后者也很旧、过时、糟糕,反过来又被java所取代。时间API-查看j.u.Date的历史?

无论如何,j.u.Date就是不允许你在这里需要什么。它不支持定制时钟。

但是java。时间确实如此。

您可以立即调用:Instant。now(),这是新的API,相当于新日期()(j.u.Date的名字在史诗上很糟糕。它根本不代表日期;它代表时间上的瞬间)。有一个变体调用:Instant。现在(时钟)。这可以让你选择一个定制的时钟。

安排代码以获取要使用的时钟实例,例如通过依赖注入,或者有一种方法来设置它,使用未设置的时钟意味着您默认为系统时钟(Clock.systemUTC()),但是您可以实现自己的时钟实例,它确实可以做您需要的事情:让测试代码“配置”时钟以返回测试所需的任何日期/时间,而无需干扰计算机的时钟。

因此,您的3步解决方案:

>

设置某种依赖项注入解决方案(自己编写,或使用dagger、guice、spring等现成解决方案),以便注入时钟实例。使用Instant。现在(时钟)form以获取“当前”日期和时间,并且永远不要少于Instant。现在()

实现一个定制的impl-of-clock,并使用它来设置代码中查询“当前日期/时间”以注入这个“测试时钟”的所有不同点。

那么,瞧。测试瓦尔哈拉。

 类似资料:
  • 问题内容: 我正在开发一个android程序。用户单击一个按钮,我做了一些数学运算,并且我想更改某些TextView对象中的视图上的值。有人可以告诉我该怎么做吗? 问题答案: 你想做什么?您是否真的要在用户单击按钮时动态更改TextView对象中的文本?如果有原因,您当然可以这样做,但是,如果文本是静态的,则通常在main.xml文件中进行设置,如下所示: 字符串“ @ string / rate

  • 请帮助我下面的代码,我得到相同的输出,即使改变值 值9未更新。

  • 问题内容: 在Java Servlet中,如何更改现有Cookie的值?有一个addCookie方法,但是HttpServletResponse中没有deleteCookie或editCookie 问题答案: 那些确实不存在。只需自己创建实用工具方法即可。特别是获得所需的cookie会很肿。例如 要编辑Cookie,请设置其值,然后将其添加到响应中: 如果有必要,请设置最大值,路径和域(如果它们与

  • 问题内容: 我想更改的值,我该怎么做? 我正在运行Ubuntu 12.04。 问题答案: 仅运行一次(从unix shell提示符): 更永久地: 在Windows中: 在Windows PowerShell中:

  • 问题内容: 好的,所以我一直在研究这一点。我对Java还是很陌生,但认为这很容易。我已经尝试了本网站上已回答的所有方法,但仍然没有运气,通常,当我在这里查看时,我能够找到适合我所寻找答案的答案。有谁知道如何更改JFrame右上角的Java图标。我非常肯定它不是我的文件路径,因为我的所有图像都在同一个文件夹中并且都可以工作,这是我似乎无法使用的唯一文件。 这是我的程序主菜单代码的第一部分,除我尝试添

  • 问题内容: 我有一个图表,其中x轴显示时间,y轴显示我的数据。我想通过为x轴选择不同的指标来更改比例。例如 秒,分钟和小时刻度。默认值为秒。因此,如果选择分钟,则图表应该更小且更弯曲。任何的想法?UI 尚未完成,但是您假设将有x和y轴。的参数度确定其应被缩放到第二(度= 1),分钟(度= 60)或小时(度= 3600) 问题答案: 考虑使用jfreechart,它将缩放图形以填充封闭的容器。中看到