ios提醒事项和日历同步优化

优化了同步,将原本无时间的提醒事项同步成全天事项

代码改自:https://blog.csdn.net/zackerzhuang
这位博主,可以配合她的小目标,非常好用。
更新点
1、原本无时间的提醒事项全部堆积在0:00-1:00,这样下滑很容易忘掉,现改为全天,时间轴下拉不遗漏
2、全天性质(无时间有日期)的日程,如果没有做,依旧会推移到第二天全天
3、全天重复性待办,今天打卡结束,会进入第二天全天列
2、优化了图标,更加清淡(个人口味)
3、图示app是calendar和原生日历

优化难点
1、ios自带的new date 返回的时间,是无法进行等于比较的,,虽然数据类型是Number,单=和!= 无论等不等都返回true。添加if 分支遭到阻碍。
2、新建的无时间的提醒事项,getHours,getSeconds是空,同步一次之后会变成00:00:00
所以,同样是无时间的提醒,背后判定不一样。

优化遗憾
此代码逻辑下,0点这个时间段的待办会被同步到全天(就是最上面),但点击完成后,仍然可以回归到时间轴。

图示:配合第三方简直完美
calenders 应用内效果

原生日历:全天比较窄
在这里插入图片描述
在这里插入图片描述

代码如下

var dur_month = 3
//设置同步 同步时间为前后3个月
const startDate = new Date()
startDate.setMonth(startDate.getMonth() - dur_month)
console.log(`日历的开始时间 ${
     startDate.toLocaleDateString()}`)

const endDate = new Date()
endDate.setMonth(endDate.getMonth() + dur_month)
console.log(`日历的结束时间 ${
     endDate.toLocaleDateString()}`)


const reminders = await Reminder.allDueBetween(startDate, endDate)
console.log(`获取 ${
     reminders.length} 条提醒事项`)

var calendar = await Calendar.forEvents()
var m_dict = {
   }
for(cal of calendar)
{
   
   m_dict[cal.title] = cal
   //console.log(`日历:${cal.title}`)
}

const events = await CalendarEvent.between(startDate, endDate, calendar)
console.log(`获取 ${
     
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值