gpt4 book ai didi

java - 我在 ICU4J 库中得到错误的输出

转载 作者:太空宇宙 更新时间:2023-11-04 09:07:17 25 4
gpt4 key购买 nike

我想将日期从波斯历转换为公历。为此,我使用 ICU4J 库(版本 65.1)。问题是这个库对于某些日期给出了错误的输出。

这是我的代码:

ULocale locale = new ULocale("fa_IR@calendar=persian");

GregorianCalendar gregoriancal = new GregorianCalendar();

Calendar persiancal = Calendar.getInstance(locale);
// year month day
persiancal.set(1398, 11, 16);

gregoriancal.setTime(persiancal.getTime());

String day = gregoriancal.get(Calendar.DATE) + "";

System.out.println(day);
----------------------------------------
output: 6

波斯历中的该日期 ( 1398/11/16 ) 等于公历 2020-02-05 星期三

但它给了我 6 作为输出(而它应该给出 5)

我的代码是否有问题导致输出错误?

最佳答案

查看传递 ULocale 的 javadoc 后,应该可以将 GregorianCalendar 置于正确的时区:

com.ibm.icu.util.GregorianCalendar gregoriancal =
new com.ibm.icu.util.GregorianCalendar(locale);
<小时/>

我认为月份可能是从 0 开始的,就像 java.util.Calendar 中一样。

    persiancal.set(1398, 11-1, 16);

关于java - 我在 ICU4J 库中得到错误的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60076612/

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