显示农历日期,日数是对的,但月份比实际少一个月,如2025年7月9日对应的农历日期应为6月15日,但显示为5月15日。
import { i18n } from '@kit.LocalizationKit';
// 获取中国农历历法
let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans', 'chinese');
// 显示的月份数=calendar.get('month')将导致比实际月份数少1
let month: number = calendar.get('month'); 因问题现象为日数正确、月份数比实际月份少1个月,所以可能的问题原因为显示农历月份时,直接显示了calendar.get('month')获取到的月份数,没有在此基础上+1。
显示月份时,在calendar.get('month')获取到的月份数上+1,得到实际的月份。
import { i18n } from '@kit.LocalizationKit';
// 获取中国农历历法
let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans', 'chinese');
// 显示的月份数=calendar.get('month')+1
let month: number = calendar.get('month') + 1;