HarmonyOS 鸿蒙Next 日历重复规则如何设置

发布于 1周前 作者 itying888 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 日历重复规则如何设置

使用ohos.calendarManager添加日历提醒,如何添加每周一、周三、周五的提醒,

安卓实现方式设置日历规则

RRULE:FREQ=WEEKLY;
INTERVAL=2;
UNTIL=19971224T000000Z;
WKST=SU;
BYDAY=MO,WE,FR
2 回复

开始时间startTime需为一三五,根据date.getTime()具体日期设置,endTime为结束时间,这里设置为了10s.用7月份,beta2版本试试。

import { BusinessError } from '@kit.BasicServicesKit';
import { calendarManager } from '@kit.CalendarKit';
import { calendarMgr } from '../entryability/EntryAbility';

let calendar: calendarManager.Calendar | undefined = undefined;

const date = new Date();

const event: calendarManager.Event[] = [{
  title: 'MyEvent1',
  type: calendarManager.EventType.NORMAL,
  startTime: date.getTime() - 24 * 60 * 60 * 1000,
  endTime: date.getTime() - 24 * 60 * 60 * 1000 + 10000,
  recurrenceRule: {
    recurrenceFrequency: calendarManager.RecurrenceFrequency.WEEKLY
  }
},
{
  title: 'MyEvent2',
  type: calendarManager.EventType.NORMAL,
  startTime: date.getTime() + 24 * 60 * 60 * 1000,
  endTime: date.getTime() + 24 * 60 * 60 * 1000 + 10000,
  recurrenceRule: {
    recurrenceFrequency: calendarManager.RecurrenceFrequency.WEEKLY
  }
},
{
  title: 'MyEvent3',
  type: calendarManager.EventType.NORMAL,
  startTime: date.getTime() + 3 * 24 * 60 * 60 * 1000,
  endTime: date.getTime() + 3 * 24 * 60 * 60 * 1000 + 10000,
  recurrenceRule: {
    recurrenceFrequency: calendarManager.RecurrenceFrequency.WEEKLY
  }
}
]

@Entry
@Component
struct Index62 {
  @State message: string = 'Hello World';

  aboutToAppear(): void {}

  build() {
    RelativeContainer() {
      Text(this.message)
        .id('Index62HelloWorld')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)
        .alignRules({
          center: { anchor: '__container__', align: VerticalAlign.Center },
          middle: { anchor: '__container__', align: HorizontalAlign.Center }
        })
        .onClick(() => {
          calendarMgr?.getCalendar(async (err: BusinessError, data: calendarManager.Calendar) => {
            if (err) {
              console.error(`Failed to get calendar, err -> ${JSON.stringify(err)}`);
            } else {
              console.info(`Succeeded to get calendar, data -> ${JSON.stringify(data)}`);
              calendar = data;
              await calendar.addEvents(event).then(() => {}).catch((err: BusinessError) => {
                console.error(`Failed to filter by title, err -> ${JSON.stringify(err)}`);
              });
              const filter = calendarManager.EventFilter.filterByTitle('MyEvent');
              calendar.getEvents(filter).then((data: calendarManager.Event[]) => {
                console.info(`Succeeded to filter by title, data -> ${JSON.stringify(data)}`);
              }).catch((err: BusinessError) => {
                console.error(`Failed to filter by title, err -> ${JSON.stringify(err)}`);
              });
            }
          });
        })
    }
    .height('100%')
    .width('100%')
  }
}

需要创建三次日历提醒,后续没有明确计划,目前不支持一条提醒就可实现。

更多关于HarmonyOS 鸿蒙Next 日历重复规则如何设置的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中设置日历的重复规则,可以按照以下步骤操作:

  1. 打开日历应用:首先,在鸿蒙系统的设备上找到并打开日历应用。

  2. 创建新事件:在日历界面中,点击相应的日期或选择“+”号按钮来创建一个新的事件。

  3. 填写事件详情:在新建事件的界面中,填写事件的标题、开始时间和结束时间等基本信息。

  4. 设置重复规则:

    • 向下滚动到“重复”或类似名称的选项。
    • 点击该选项后,会弹出一个菜单,显示各种重复规则,如每天、每周、每月、每年等。
    • 选择所需的重复规则。如果需要更详细的设置(如每周的特定几天),可以进一步点击并调整。
  5. 保存事件:设置好重复规则后,检查其他信息是否无误,然后点击保存或确定按钮。

  6. 查看重复事件:返回到日历主界面,你将看到所设置的事件按照设定的重复规则出现在相应的日期上。

如果在设置过程中遇到任何问题,比如选项不可见或无法保存设置,请确保你的鸿蒙系统版本是最新的,或者尝试重启日历应用。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部