gpt4 book ai didi

Java LocalDateTime minusYears 为浮点年数

转载 作者:行者123 更新时间:2023-12-02 02:00:49 25 4
gpt4 key购买 nike

Java LocalDateTime minusYears 需要长参数。以防万一,如果我想减去 float 年份,例如。 2.5年,我该怎么办?

有内置支持吗?

注意:我将值和单位作为用户的输入。上面的问题有点概括(我在小时、年、周等方面也有同样的问题)。有时可能是 2.7 小时、2.8 年或 5.3 周等

最佳答案

您没有对此的任何内置支持,但您可以通过将值转换为月份(* 12)来轻松做到这一点:

float year = 2.5F;
LocalDateTime dateTime = dateTime.minusMonths((int)(year * 12);

如果需要,您还可以创建一个 util 方法:

public static LocalDateTime removeYear(LocalDateTime dateTime, float year) {
int monthToRemove = (int)(year * 12);
return dateTime.minusMonths(monthToRemove);
}

通过测试它:

public static void main(String[] args) {
LocalDateTime date = removeYear(LocalDateTime.now(), 2.5F);
System.out.println(date);
}

输出:

2016-01-31T16:33:26.755

请注意,为了使该方法更加稳健,您可以检查 year 是否表示仅接受某些类型的值的 float ,例如小数部分为零 (2.0)或一些小数,例如 0.5

关于Java LocalDateTime minusYears 为浮点年数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51615538/

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