gpt4 book ai didi

java - 将 P-25Y-11M-16D 转换为天数

转载 作者:行者123 更新时间:2023-11-30 06:55:51 26 4
gpt4 key购买 nike

我必须找出两年雇佣日期与当前日期之间的差异,但在 mule esb 数据编织中,我得到的结果是 P-25Y-11M-16D。是否有任何内置函数可以将 P-25Y-11M-16D 格式转换为 java 中的天数?

我试过使用定界符并提取数字然后相乘并转换为天数,但是是否有任何短代码?

最佳答案

这看起来像 Java 8 支持的格式 java.time.Period类(class)。所以你可以把它作为一个时期。如果您随后想知道这是多少天,您需要选择一个引用日期(例如,“现在”或任何其他 LocalDate),然后将句点添加到其中,然后检查实际天数在这两个日期之间。

import java.time.LocalDate;
import java.time.Period;
import java.time.temporal.ChronoUnit;

Period p = Period.parse("P-25Y-11M-16D");
LocalDate d = LocalDate.now();
LocalDate d2 = d.plus(p);
// The following gets the difference in days (or any other ChronoUnit)
System.out.println(d.until(d2, ChronoUnit.DAYS));

输出当前日期期间的天数:

-9481

关于java - 将 P-25Y-11M-16D 转换为天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34855756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com