0 maxTime 设置显示的时间从几天结束 24 slotEventOverlap 设置视图中的事件显示是否可以重叠覆盖 true 当前日期设置 属性 描述 默认值 year 设置日历年份,必须为...false selectHelper 当点击或拖动选择时间时,显示默认加载的提示信息,该属性只在周/天视图里可用。...false unselectAuto 当点击页面日历以外的位置时,是否自动取消当前的选中状态。...start 必须,事件的开始时间。 end 可选,结束时间。 url 可选,当指定后,事件被点击将打开对应url。 className 指定事件的样式。..., view ) { } renderEvent method,一旦日历重新取得日程源,则原有日程将消失,当指定stick为true时,日程将永久的保存到日历上。
protected Rect weekRect;//周日历大小的矩形 ,用于判断点击事件是否在日历的范 private boolean isWeekHold;//是否需要周状态定住...monthHeight : weekHeight); } }); } /** * 根据ChildLayout的自动滑动结束的状态来设置月周日历的状态...changed, int l, int t, int r, int b) { //super.onLayout(changed, l, t, r, b); //调用父类的该方法会造成 快速滑动月日历同时快速上滑...childLayout.isWeekState()) { //不是周状态也不是月状态时,自动滑动 autoScroll(); }...autoScroll(); break; } return true; } /** * 点击事件是否在日历的范围内
Flutter日历插件,支持自定义日历,月视图/周视图切换、点击拦截、单选(切换月自动选)、多选(散选/聚选) .------------------------------------------...[✔] 自定义日历 [✔] 点击拦截 [✔] 单选,切换月/周自动选 [✔] 多选,散选/聚选 1.如何使用....null就没有 @override Widget buildTopWidget(BuildContext context,RCalendarController controller){...}...; //是否不可用,不可用时,无点击事件 @override bool isUnable(DateTime time, bool isSameMonth){...}; //点击拦截,...当返回true时进行拦截,就不会改变选中日期 @override FutureOr clickInterceptor(BuildContext context,DateTime dateTime
可以用于系统的个人历程管理,系统的任务日历列表....支持按:月、周、日来查看,非常实用 FullCalendar插件下载 下载使用 下载好FullCalendar解压,里面包含了demo和必要的JS,CSS文件 我们打开Demo随便打开一个样例,得到以下必要的文件即可...fullcalendar.min.js /zh-cn.js 由于使用过程中有弹窗,这部分辅助我使用的是EasyUI的组件(你可以使用其他弹窗组件来做弹窗) 数据库结构 由于我们使用了数据保存,所以表的建立要根据官方的事件数据来建对应的数据库表用来存储一个日历事件信息的标准对象...,其中只有title和start是必须的 但是我们可以全建来获得完整的数据支持 属性 描述 id 可选,事件唯一标识,重复的事件具有相同的id title 必须,事件在日历上显示的title allDay...start 必须,事件的开始时间。 end 可选,结束时间。 url 可选,当指定后,事件被点击将打开对应url。 className 指定事件的样式。
*/ public static final int RANGE_WEEK_RELATIVE = 3 /** * 周范围,以关注的天为中心。 ...* * @param cal1 第一个日历,不可修改,非null * @param cal2 第二个日历,不可修改,非null */ public static... * * @param cal1 第一个日历,不可修改,非null * @param cal2 第二个日历,不可修改,非null */ public...addMonths(final Date date, final int amount) /** * 在日期date上增加amount周 。 ...(final Date date, final int amount) /** * 将一个日期放到日历中 。
' }, //月视图下日历格子宽度和高度的比例 aspectRatio: 1.35, //月视图的显示模式,fixed:固定显示6周高;liquid:高度随周数变化;variable: 高度固定...如果没有指定结束时间,默认执行120分钟 defaultEventMinutes: 60, //设置为true时,如果数据过多超过日历格子显示的高度时,多出去的数据不会将格子挤开,而是显示为 +.....为取消 false为不取消,只有重新选择时才会取消 unselectAuto: true, //Event是否可被拖动或者拖拽 editable: true, //Event被拖动时的不透明度...=null){//result.body.wesClassCourseList其实就是从后台返回前台的一个课次list, var len = result.body.wesClassCourseList.length...); $("#addObjcectInputModalEdit").modal("hide");//隐藏弹出框 } } }); $("#search").click(function(){//当点击搜索按钮时页面重新刷新
简介 先上个小米日历的图,让大家知道要做一个什么效果: [strip] 这是小米日历的效果,在用户操作列表的时候,将日历折叠成周视图,扩大列表的显示区域,同时也不影响日历部分的功能使用,有趣且实用。...日历控件 我并不打算自己再写一个日历控件。原本想用原生的 CalendarView,但是 CalendarView 不支持周视图,可自定义程度也不高。...onStartNestedScroll 的返回值决定是否接收嵌套滑动事件。...滚动时,日历也向上滚动,最多到当前选中日期那一行,滚动范围和当前选中日期有关。...当嵌套滑动结束时会回调 onStopNestedScroll 方法,可以在这里根据当前控件的位置,判断是否要切换视图。
最近写了一款日历,包含周日历、月日历以及滑动切换视图,先上效果图: 代码已上传到github:https://github.com/yannecer/NCalendar 项目主要用到了自定义View...本篇文章主要说一下月日历数据、月视图绘制以及点击日期的实现。 数据 数据部分,网上能找到比较完整的工具类,主要是根据本月和上月的天数以及本月第一天是周几来计算。...再计算下月计算上月日期的显示: 下月的天数显示可以看本月最后一天是周几,根据距离一周最后一天的间隔天数,从1开始直接加上就可以了。 这里要分情况了,有的月份跨5个周,有的月份能跨6个周。...GestureDetector,当发生单击时,循环刚才绘制文本时的矩形,根据用户点击的XY坐标值判断是在哪个矩形内,我们就知道用户点击的是哪个日期了。...=null,就会绘制选中的圆环了。
CalendarContract.Instances 该表存放事件每次触发时的起始时间和结束时间。一次性事件只会1:1对应一条实例记录。...实际上只有以 Sync Adapter 的方式去访问时,这些字段才是可见的。...比如,"PT1H"表示事件会持续 1 小时,"P2W"则表示持续 2 周。 ALL_DAY 为 1 表示该事件会占用全天时间,类似于时区设置中的定义。...以 EVENT_ID 为参数调用 query() 时,将会返回相关系统提醒的清单。 下表列出了 Reminders 表中可供写入的字段。 在插入一条新的提醒数据时,必须包含所有这些字段。...常量 说明 BEGIN 事件该次实例的起始时间,单位为 UTC 毫秒数。 END 事件该次实例的结束时间,单位为 UTC 毫秒数。
或者想要删除这个日历中的所有事件时,只需要把这个日历删掉即可,不需要一条条事件删除,点击右边的提示按钮,然后滑动到最下方就有删除日历的按钮。...,重复间隔为每周都重复,一周中的周一、周二、周三、周四、周五重复 let rule = EKRecurrenceRule(recurrenceWith: EKRecurrenceFrequency.weekly...生成日历事件时,要注意事件的持续时间,以及是否添加闹钟提示。...第一步先创建周一到周五的固定重复逻辑;第二步,从某个地方获取到节假日和补班信息,然后根据信息,在第一步的基础上,“多退少补”,即属于节假日的周一至周五的事件移除,属于补班的没有日历事件的则添加事件。...笔者这里感觉如果是在自己服务端维护一套节假日数据比较好,返回节假日数据时,也返回对应版本号。
父节点可以折叠起来 2.用户可以通过拖放的操作,将元素从左侧拖放到右侧。如果是拖的父节点元素,那么需要把它子节点的元素一并拖到右边 3.元素放到右侧,右侧可以接受元素的区域有2种可能。...效果如下图所示: 因为最终的左侧元素节点是通过Ajax访问后台返回json数据,然后通过Javascript动态生成这种结构,而已不能为动态生成的元素绑定drag事件,也就不能调用draggable方法...实现拖动父节点时,其下面的子节点元素也要拖放到右边。如果是拖动的子节点元素,就在右边直接显示子节点元素。...这步的原理如下图所示: 当用户拖动B节点时,首先把B元素上的内容复制给draggableDiv元素,当用户拖动B元素,其实是拖动draggableDiv元素。...然后在“拖”的过程中,一直记录了拖动的左边,放到右侧时,就可以判断当前元素将要放的位置。具体可以下载代码查看。
DESCRIPTION:Reminder # alarm 结束 END:VALARM # 事件结束...HOURLY, 表示以小时为间隔单位进行重复。 DAILY, 表示以天为间隔单位进行重复。 WEEKLY, 表示以周为间隔单位进行重复。 MONTHLY, 表示以月为间隔单位进行重复。...默认值为 MO。 当一个 WEEKLY 类型的重复规则, INTERVAL 大于 1, 且带有 BYDAY 属性时, 则必须带有 WKST 属性。...当一个 YEARLY 类型的重复规则带有 BYWEEKNO 属性时, 也必须带有 WKST 属性。 3、UNTIL UNTIL 属性定义了一个日期-时间值,用以限制重复规则。...对应上述不同的 FREQ 值分别表示每一秒,每一分钟, 每一小时, 每一天, 每一周, 每一月, 每一年。
Long getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。...Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法...GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。 注意月份的表示,一月是 0,二月是 1,以此类推,是 12 月是 11。...04 — Joda-Time 传统的我们一般日期处理(格式化时间等)时往往会用java.util.Date这个类,但是对于一些复杂的日期处理就显得力不从心了。...* @param week 周期 0本周,-1上周,-2上上周,1下周,2下下周 * @return 返回date[0]开始日期、date[1]结束日期 */
组件 state 部分通过使用 resolveStateFromProp() 方法从 props 解析,该方法返回一个对象,该对象包含: current:当前所选日期的 Date 对象或 null。...映射之后,一周中日期的渲染 DOM 看起来像下面的截图 。 ? renderCalendarDate() 方法也用作 .map() 回调函数并渲染日历日期。...还要注意,使用 gotoDate() 方法(将在下一节中定义)为每个日历日期设置 onClick 处理,以跳转到特定日期。 事件处理 在前面几节中已经对一些事件处理进行了一些引用。...this.clearPressureTimer(); this.clearDayTimeout(); } } 在 componentDidMount() 方法中,有一个日期计时器,它被设置为在当前日期结束时自动将...设置日历样式 现在您已经完成了 Calendar 组件,接下来您将创建为日历提供样式的样式化组件。 将以下代码片段添加到 src/components/Calendar/styles.js 文件。
false,说明为重复元素 HashMap集合: get方法,返回值不为null,说明为重复元素 containsKey, 返回值为true,说明集合中存在该key,key是重复的 containsValue...切割完成,起始索引需要向后推移 startIndex += len; } 切割技巧总结: 1、循环条件: startIndex<=arr.length-1 2、当会出现索引越界时...Object -----X1 -----X2 -----X3 父类返回值类型:X1 子类返回值类型:X1 X2 X3 20、 ·(调用成员方法)如何判断this: 最初调用方法时...父当子用, 仅做回自己时(或做回自己的向上类型【接口、父类】),可以执行成功 注:不能转为无关类型 或 无法做回自己的向下类型 例如:Student stu1 = new Student...例如: 用户登录时,若用户名为空,提示:请输入用户名 String username = null; try{ username.split
先上效果图 image.png 实现的功能和需求 绘制“日”,“月”,“年”组件,年嵌套多个月,月嵌套多个周,然后再是天 绘制日历头部与底部确认选择按钮 支持某一天单选,开始日期和结束日期多选,反向选择...(先选结束日期再选开始日期),跨月选择,取消选择等事件 对外暴露CalendarList组件,这个组件是List类型,也就是说它是多个月的集合 下面分段对部分代码进行描述。...笔者在实现该功能时把MonthView作为SliverList的一个build item。...= null && selectEndTime == null) { selectEndTime = dateTime; // 如果选择的开始日期和结束日期相等,则清除选项...,这是一个典型的子组件调用父组件改变其状态的代码段,通过selectStartTime和selectEndTime是否为null判断用户的点击行为落在哪个if else里面,通过setState重新设置开始和结束日期
当然,Github上提供了好多优秀的日期处理插件(如:Datejs、date-fns、jquery-dateFormat),然而当处理一些简单的日期操作去引用插件,还是挺耗费资源。...写在前面 时区(Time Zone):是地球上的区域使用同一个时间定义; 世界标准/协调时间(Coordinated Universal Time):1970年1月1日午夜(零时)开始经过的毫秒数来保存日期...getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 getMonth() 从 Date 对象返回月份 (0 ~ 11)。...UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。 valueOf() 返回 Date 对象的原始值。...月份,如:0(注意,遵循默认日历,从0开始) */ function getDaysInMonth (year, month) { // 将天置为0,会获取其上个月的最后一天 // 获取1月份的天数
上一期学习了AnalogClock、DigitalClock和TextClock时钟组件,本期继续来学习日历视图CalendarView和定时器Chronometer。...如果希望监控该组件的日期改变,则可调用CalendarView的 setOnDateChangeListener()方法为此组件的点击事件添加事件监听器。...用CalendarView时可指定如下表所示的常见XML属性及相关方法。...在使用Chronometer时,如果希望监控该组件的时间,则可调用Chronometer的 setOnChronometerTickListener()方法为此组件的点击事件添加事件监听器。...//替换字符串中第一个“%s”为当前"MM:SS"或 "H:MM:SS"格式的时间显示。
基本上实现起来都容易,只是表达式。。有点。。我到网上搜索了下。。...每个字段都有一系列可以开始或结束的数值。对于“秒”和“分”字段来说,其数值范围为0到59,对于“小时”字段来说其为0到23, 对于“日”字段来说为0到31, 而对于“月”字段来说为1到12。"...当使用'L'选项时,指定确定的列表或者范围非常重要,否则你会被结果搞糊涂的。 'W' 可用于“日”字段。用来指定历给定日期最近的工作日(周一到周五) 。...注意如果你指定"#5"该月没有第五个“周×”,该月是不会触发的。 'C' 字符可用于“日”和“周几”字段,它是"calendar"的缩写。它表示为基于相关的日历所计算出的值(如果有的话)。...如果没有关联的日历, 那它等同于包含全部日历。“日”字段值为"5C"表示"日历中的第一天或者5号以后",“周几”字段值为"1C"则表示"日历中的第一天或者周日以后"。
领取专属 10元无门槛券
手把手带您无忧上云