个人理财 如何在Java中添加或减去日期 - 傻瓜

如何在Java中添加或减去日期 - 傻瓜

视频: excel 2013 曲線圖(XY軸) 2024

视频: excel 2013 曲線圖(XY軸) 2024
Anonim

正如您不能使用Java的内置比较运算符和日期一样,您也可能不使用内置的数学运算符。相反,您可以使用各种 减去 方法对日期执行加法和减法,并且可以通过使用 直到 方法来确定两个日期之间的差异。

在进行日期和时间计算时需要考虑的一个重要事实是Date-Time对象是不可变的。这意味着一旦创建了Date-Time对象,就不能更改它的值。在Date-Time对象上执行计算时,结果是一个具有新值的新Date-Time对象。

<!

减号 方法可让您将各种日期和时间单位添加到Date-Time对象。每个 LocalDate 类有四个变体,允许您为 LocalDate 对象添加或减去年,月,周和天。以下代码打印当前日期,明天的日期以及从现在开始的一周,一个月和一年的日期: 系统。出。 println(“Today:”+ LocalDate。now());

系统。出。 println(“Tomorrow:”+ LocalDate。now()。plusDays(1));

系统。出。 println(“Next week:”+ LocalDate。now()。plusWeeks(1));

系统。出。 println(“Next month:”+ LocalDate。now()。plusMonths(1));

系统。出。 println(“Next year:”+ LocalDate。now()。plusYears(1));

要确定两个日期之间的差异,请使用

方法。它计算日期和作为第一个参数传递的日期之间的差异,以第二个参数指示的单位度量。例如,以下代码确定2014年5月16日至2014年12月15日之间的天数:

LocalDate date1 = LocalDate。解析(“2014年5月16日”);

LocalDate date2 = LocalDate。解析(“2014年12月15日”);

系统。出。 println(date1。until(date2,ChronoUnit。DAYS));一些日期计算可能会更复杂一点。例如,考虑每个月15号准备发票的业务。以下代码片段显示从当前日期到下一个开票日期的天数:

LocalDate today = LocalDate。现在();

LocalDate invDate = LocalDate。 (today。getYear(),

today。getMonthValue(),15);

if(today。getDayOfMonth()> 15)

invDate = invDate。 plusMonths(1);

long daysToInvoice = today。直到(invDate,

ChronoUnit。DAYS);

系统。出。 println(daysToInvoice

+“,直到下一个发票日期。“);

这个例子首先获取当前日期,然后创建一个新的

LocalDate

对象,代表当前月份的第15个。那么,如果当月的当天日期大于15,则会在发票日期中添加一个月。换句话说,如果是16号或更晚,发票在 之后的 月份的15号发生,而不是在本月。然后使用 至 方法确定当前日期与下一个开票日期之间的天数。 ChronoUnit 是一个枚举,它定义了日期和时间计算中可以使用的各种时间单位。可能的值是: CENTURIES

DAYS DECADES

ERAS

FOREVER

半天

HOURS

MICROS

MILLENNIA

MILLIS

大多数这些都是不言而喻的,但其中两个有点奇怪:

ERA

表示是否日期是指共同时代(CE,也称为AD)或时代之前(BCE,也称为BC)。

FOREVER

表示可以表示为持续时间的最大值。可悲的是,Java不会让你永远活着。以下代码将引发异常:

LocalDate birthday = LocalDate。解析(“1959年5月16日);

生日=生日。加上(1,ChronoUnit。FOREVER);

请注意

ChronoUni

t在

  • java中。时间。 temporal 包,因此请务必在使用
  • ChronoUnit

import java的任何程序的顶部包含以下语句。时间。颞。 *;

如何在Java中添加或减去日期 - 傻瓜

编辑的选择

特权的基础知识在Oracle 12c - 虚拟机

特权的基础知识在Oracle 12c - 虚拟机

用户可以在Oracle 12c数据库中完成。您可能希望允许用户能够登录,但是您可能需要限制用户是否可以执行以下任一任务:访问某些数据开始...

Oracle 12c恢复管理器(RMAN)目录 - 傻瓜

Oracle 12c恢复管理器(RMAN)目录 - 傻瓜

的基础知识Oracle 12c恢复管理器(RMAN)环境,请考虑恢复目录。恢复目录是所有RMAN配置参数,备份操作和元数据的存储库。该目录可以无限期地存储备份信息。如何在Oracle 12c中选择目录模式RMAN提供了两种用于存储备份数据的选项:NOCATALOG ...

如何验证,查看和关闭Oracle 12c审计 - 傻瓜

如何验证,查看和关闭Oracle 12c审计 - 傻瓜

打开数据库中的审计记录,跟踪您制定的审计,以便您了解所做的事情。幸运的是,Oracle 12c在数据库中提供了一些视图来帮助您跟踪自己的操作:要验证您为审计配置的系统特权,请使用视图AUDIT_UNIFIED_POLICIES。要查看...

编辑的选择

Drupal友好的网页寄存公司 - 傻瓜

Drupal友好的网页寄存公司 - 傻瓜

网页寄存公司为您提供访问Web服务器,您可以在其中安装Drupal并使您的网站在Web上可见。一些公司为您安装Drupal或为您提供一键安装,为您节省了一些工作量。如果您决定自己跳过Drupal的安装,请考虑通过以下方式之一获取帐户...

Drupal花园功能 - 傻瓜

Drupal花园功能 - 傻瓜

让您有机会查看和使用所有Drupal花园功能,可以创建一个新的站点,然后选择自定义选项而不是其中一个已安装的模板:确保已经登录,然后单击我的站点链接。这样做打开了Drupal花园站点经理。点击创建...

Drupal园林主题生成器 - 傻瓜

Drupal园林主题生成器 - 傻瓜

Drupal花园设置完成后,有一些乐趣和玩你的网站上的主题。使用Drupal Gardens Theme Builder控制网站的外观是与安装Drupal自身副本不同的主要方式。但是你不会错过太多...

编辑的选择

更改MYOB中的文本和日期 - 虚拟人物

更改MYOB中的文本和日期 - 虚拟人物

MYOB为您提供了许多快捷方式以帮助简化任务。例如,您可以像在任何文字处理器中那样在MYOB中复制和粘贴文本。以下是快捷方式:按键组合快捷键结果Ctrl-A选择所有高亮显示的文本Ctrl-C复制文本Ctrl-V粘贴文本Ctrl-X删除或剪切文本Ctrl-Z取消最后一位...

在Salesforce中创建视图。当您单击Salesforce中的某个选项卡以访问特定对象(例如“帐户”,“联系人”或“个案”)时,您可以在对象主页上找到自己的服务云 - 虚拟

在Salesforce中创建视图。当您单击Salesforce中的某个选项卡以访问特定对象(例如“帐户”,“联系人”或“个案”)时,您可以在对象主页上找到自己的服务云 - 虚拟

主页,如果你选择案例,如图所示)。案例主页。当您点击Salesforce中的一个选项卡以访问特定的对象(例如,帐户,联系人或个案)时,您可以看到一些较大的,勾勒出的最近案例,报告和矩形的矩形。