CN112817499B - 日程展示方法、装置、存储介质及电子设备 - Google Patents
日程展示方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN112817499B CN112817499B CN202110226344.4A CN202110226344A CN112817499B CN 112817499 B CN112817499 B CN 112817499B CN 202110226344 A CN202110226344 A CN 202110226344A CN 112817499 B CN112817499 B CN 112817499B
- Authority
- CN
- China
- Prior art keywords
- schedule
- conflict
- schedules
- group set
- schedule group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Calculators And Similar Devices (AREA)
Abstract
本公开涉及终端显示领域,具体涉及一种日程展示方法、装置、存储介质及电子设备。该日程展示方法,包括:获取待展示的多个日程;基于日程的起始时间对所述多个日程进行划分得到至少一个日程组集合,并确定所述日程组集合的类型;根据所述日程组集合的类型确定所述多个日程对应的多个日程卡片之间的重叠信息;根据所述重叠信息将所述多个日程卡片排列展示在图形用户界面中。本公开提供的日程展示方法能够在有限的显示区域内将日程最大化展示。
Description
技术领域
本公开涉及终端显示领域,具体涉及一种日程展示方法、装置、存储介质及电子设备。
背景技术
日历中的日程展示功能对于用户的日程安排有着不可或缺的作用。目前的电子日历在展示日程时,都是以列表的形式将全部日程按顺序单独展示,每个日程都是按照相同的区域进行展示,如果存在同一时间开始的多个日程或时间有重叠的多个日程时,也只能依次单独展示或将日程进行缩略展示。
但将日程单独展示会增加展示区域,并且用户需要滑动观看,操作不便;而在日程展示区域有限时,将日程缩略展示势必会减少每一日程的展示区域,影响日程的展示效果。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种日程展示方法、装置、存储介质及电子设备,旨在在有限的显示区域内将日程最大化展示。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供了日程展示方法,包括:获取待展示的多个日程;基于日程的起始时间对所述多个日程进行划分得到至少一个日程组集合,并确定所述日程组集合的类型;根据所述日程组集合的类型确定所述多个日程对应的多个日程卡片之间的重叠信息;根据所述重叠信息将所述多个日程卡片排列展示在图形用户界面中。
根据本公开的一些实施例,基于前述方案,所述日程组集合的类型包括非冲突日程组集合和冲突日程组集合;所述根据所述日程组集合的类型确定所述多个日程对应的多个日程卡片之间的重叠信息,包括:根据日程间隔时间确定时间点,并根据所述时间点创建剩余空间列表;基于所述日程组集合的起始时间遍历所述日程组集合进行排列,以根据排列结果确定所述重叠信息;其中,在所述日程组集合的类型包括冲突日程组集合时,调用第一排列方式进行排列,以基于所述剩余空间列表确定所述冲突日程组集合内冲突日程对应的日程卡片;在所述日程组集合的类型包括非冲突日程组集合时,调用第二排列方式进行排列,以基于所述剩余空间列表确定所述非冲突日程组集合内非冲突日程对应的日程卡片。
根据本公开的一些实施例,基于前述方案,所述基于日程的起始时间对所述多个日程进行划分得到至少一个日程组集合,并确定所述日程组集合的类型,包括:基于日程的起始时间对所述多个日程进行划分得到日程组,并将所述日程组内日程的起始时间配置为所述日程组的起始时间;在存在多个日程组时,基于所述日程组之间的起始时间对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型;在存在一个日程组时,将所述日程组单独划分为一日程组集合,并将所述日程组集合类型确定为非冲突日程组集合。
根据本公开的一些实施例,基于前述方案,所述基于日程的起始时间对所述多个日程进行划分得到日程组,包括:将起始时间相同的日程划分为同一日程组;以及将起始时间不同的每一日程单独划分为一日程组。
根据本公开的一些实施例,基于前述方案,所述基于所述日程组之间起始时间对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型,包括:基于所述日程组的起始时间对所述日程组进行排序得到日程组序列;根据所述日程组序列中相邻两日程组起始时间的差值与预设阈值的关系创建标识信息得到创建结果;其中,所述标识信息包括冲突标识和非冲突标识;基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型。
根据本公开的一些实施例,基于前述方案,在所述创建结果包括非冲突标识时,所述基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型,包括:将每一所述日程组单独划分为一日程组集合,并确定所述日程组集合的类型为非冲突日程组集合。
根据本公开的一些实施例,基于前述方案,在所述创建结果包括冲突标识时,所述基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型,包括:将所有日程组划分为一日程组集合,并确定所述日程组集合的类型为冲突日程组集合。
根据本公开的一些实施例,基于前述方案,在所述创建结果包括非冲突标识和冲突标识,所述基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型,包括:将连续的所述冲突标识对应的日程组划分为一日程组集合,并确定所述日程组集合的类型为冲突日程组集合;在存在未划分的日程组时,将未划分的每一所述日程组单独划分为一日程组集合,并确定所述日程组集合的类型为非冲突日程组集合。
根据本公开的一些实施例,基于前述方案,所述调用第一排列方式进行排列,以基于所述剩余空间列表确定所述冲突日程组集合内冲突日程对应的日程卡片,包括:获取所述冲突日程组集合内冲突日程组的子序列,以及获取当前剩余空间列表;根据所述当前剩余空间列表计算所述子序列中第一冲突日程组的冲突日程对应日程卡片的位置信息和尺寸信息,以排列所述第一冲突日程组;根据已排列的冲突日程组更新所述当前剩余空间列表;重复上述排列步骤直至将所述冲突日程组集合内冲突日程组排列完毕,并得到所述日程卡片之间的重叠信息。
根据本公开的一些实施例,基于前述方案,在根据所述当前剩余空间列表计算所述子序列中第一冲突日程组的冲突日程对应日程卡片的位置信息和尺寸信息之前,所述方法还包括:基于预设阈值和日程间隔时间确定集合数N;按照所述冲突日程组的起始时间将所述冲突日程组划分至N个集合,并构建所述冲突日程组与所述集合之间的映射关系;根据所述映射关系确定所述集合对应的最大日程数,并根据所述最大日程数确定所述冲突日程组集合对应的展示列的数量。
根据本公开的一些实施例,基于前述方案,所述尺寸信息包括宽度值和高度值,所述根据所述当前剩余空间列表计算所述子序列中第一冲突日程组的冲突日程对应日程卡片的位置信息和尺寸信息,包括:基于所述第一冲突日程组的起始时间确定目标时间点,并根据所述当前剩余空间列表获取所述目标时间点对应的剩余空间信息;根据所述剩余空间信息、第一冲突日程组中冲突日程的数量和展示列的数量计算待排列日程卡片的位置坐标和宽度值;以及基于所述冲突日程的起始时间和终止时间计算所述冲突日程对应日程卡片的高度值。
根据本公开的一些实施例,基于前述方案,所述根据已排列的冲突日程组更新所述当前剩余空间列表,包括:获取已排列的冲突日程组对应的日程卡片;基于预设阈值和所述日程卡片的宽度值计算所述日程卡片的第一非遮挡区域;以及基于所述日程卡片的高度值和预设宽度值计算所述日程卡片的第二非遮挡区域;根据所述当前剩余空间列表、所述第一非遮挡区域和所述第二非遮挡区域计算剩余空间信息以更新所述当前剩余空间列表。
根据本公开的一些实施例,基于前述方案,所述调用第二排列方式进行排列,以基于所述剩余空间列表确定所述非冲突日程组集合内非冲突日程对应的日程卡片,包括:获取所述非冲突日程组集合中非冲突日程的数量,以及获取当前剩余空间列表;基于所述非冲突日程的起始时间确定目标时间点,并根据所述当前剩余空间列表获取所述目标时间点对应的剩余空间信息;根据所述剩余空间信息、非冲突日程的数量计算所述非冲突日程对应日程卡片的位置坐标和宽度值;以及基于所述非冲突日程的起始时间和终止时间计算所述非冲突日程对应日程卡片的高度值。
根据本公开的一些实施例,基于前述方案,所述待展示的多个日程包括多个新增日程;或者所述待展示的多个日程包括历史日程和一个或多个新增日程。
根据本公开的一些实施例,基于前述方案,在所述待展示的多个日程包括历史日程和新增日程时,所述方法还包括:基于所述新增日程的起始时间确定排列时间点;根据所述排列时间点确定目标历史日程;将所述目标历史日程和所述新增日程作为所述待展示的多个日程以进行日程展示。
根据本公开实施例的第二个方面,提供了一种日程展示装置,其特征在于,包括:获取模块,用于获取待展示的多个日程;划分模块,用于基于日程的起始时间对所述多个日程进行划分得到至少一个日程组集合,并确定所述日程组集合的类型;排列模块,用于根据所述日程组集合的类型确定所述多个日程对应的多个日程卡片之间的重叠信息;展示模块,用于根据所述重叠信息将所述多个日程卡片排列展示在图形用户界面中。
根据本公开实施例的第三个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中的日程展示方法。
根据本公开实施例的第四个方面,提供了一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中的日程展示方法。
本公开示例性实施例可以具有以下部分或全部有益效果:
在本公开的一些实施例所提供的技术方案中,首先将待展示的多个日程划分为至少一个日程组集合,再根据日程组集合的类型确定日程卡片的重叠信息,最后根据重叠信息将日程卡片排列以将日程进行展示。一方面,日程对应的日程卡片之间存在重叠信息,即日程之间可以重叠展示,能够在有限的日程展示空间展示更多的日程,相较于将需要重叠的日程割裂展示而言,能够减少日程展示空间或者避免了日程卡片缩略展示的效果;另一方面,将日程划分为日程组集合后,日程组集合的类型不同,确定日程对应的日程卡片之间重叠信息的方法不同,能够对日程分类后区别排列,提高展示日程的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
在附图中:
图1示意性示出本公开示例性实施例中一种日程展示方法的流程示意图;
图2示意性示出现有技术中一种日程展示的示意图;
图3示意性示出本公开示例性实施例中一种日程卡片非遮挡区域的示意图;
图4示意性示出本公开示例性实施例中一种图形用户界面展示效果示意图;
图5示意性示出本公开示例性实施例中另一种图形用户界面展示效果示意图;
图6示意性示出本公开示例性实施例中一种日程展示装置的组成示意图;
图7示意性示出本公开示例性实施例中一种计算机可读存储介质的示意图;
图8示意性示出本公开示例性实施例中一种电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
以下对本公开实施例的技术方案的实现细节进行详细阐述。
图1示意性示出本公开示例性实施例中一种日程展示方法的流程示意图。如图1所示,该日程展示方法包括步骤S1至步骤S4:
步骤S1,获取待展示的多个日程;
步骤S2,基于日程的起始时间对所述多个日程进行划分得到至少一个日程组集合,并确定所述日程组集合的类型;
步骤S3,根据所述日程组集合的类型确定所述多个日程对应的多个日程卡片之间的重叠信息;
步骤S4,根据所述重叠信息将所述多个日程卡片排列展示在图形用户界面中。
在本公开的一些实施例所提供的技术方案中,首先将待展示的多个日程划分为至少一个日程组集合,再根据日程组集合的类型确定日程卡片的重叠信息,最后根据重叠信息将日程卡片排列以将日程进行展示。一方面,日程对应的日程卡片之间存在重叠信息,即日程之间可以重叠展示,能够在有限的日程展示空间展示更多的日程,相较于将需要重叠的日程割裂展示而言,能够减少日程展示空间或者避免了日程卡片缩略展示的效果;另一方面,将日程划分为日程组集合后,日程组集合的类型不同,确定日程对应的日程卡片之间重叠信息的方法不同,能够对日程分类后区别排列,提高展示日程的效率。
在手机电脑已经非常普及的今天,带有日历功能的APP,对于整合一天的日程安排更有着不可或缺的作用。而普通的日历日程软件,同一时刻日程多的时候,日程是平均划分,每个日程在展示列中单独展示。
图2示意性示出现有技术中一种日程展示的示意图,参考图2所示,日程1~3分别单独显示展示界面上。这样一来,势必就会造成每个日程展示区域非常有限,特别是在屏幕比较小的移动设备上,划分后的展示区域更小,就会导致点击区域也小,这样对需要点击日历才能查看完整信息造成了许多不便。
因此,针对现有技术中存在的问题,本公开提供了一种新的日程展示方法,预设日程卡片的非遮挡区域,在保证这些区域不被遮挡的前提下将日程卡片按照一定的规则进行排列后,将日程进行展示,可以在有限的显示区域内将日程最大化展示。
下面,将结合附图及实施例对本示例实施方式中的信息召回方法的各个步骤进行更详细的说明。
步骤S1,获取待展示的多个日程。
需要说明的是,由于日历中日程的展示是将同一天的日程进行展示,所以在进行日程排列时是默认对某一日期的日程进行排列,所以获取的待展示的多个日程是相对于同一日期来说的。当然,如果日程展示的规则改变,获取的待展示的多个日程的时间范围也会改变。
另外,当待展示的日程只有一个时,可以将该日程直接排列展示,根据该日程的起始时间确定日程卡片的高度,根据图形用户界面确定日程卡片的宽度,进而进行日程展示。而当待展示的日程超过两个时,即存在多个待展示的日程,可以采用本公开提供的日程展示方法进行日程卡片的排列。
在本公开的一个实施例中,待展示的多个日程可以分为以下两种情况:
其一是待展示的多个日程包括多个新增日程。具体而言,当待展示的日程都是新增日程时,并且新增日程为多个时,便符合该日程展示方法的应用场景。也就是初始排列时日历中当前日期中并没有已经存在的日程,而是对多个新增日程进行排列。
其二是待展示的多个日程包括历史日程和一个或多个新增日程。也就是说,该日期已经存在了历史日程,此时添加了新增日程后,需要对历史日程和新增日程都进行排列,也符合该日程展示方法的应用场景。由于存在历史日程,所以对新增日程的数量就没有限定,可以是一个或多个。
其中,新增日程可以是基于用户的日程添加指令获取,例如用户在日历APP中添加新的日程;也可以是该用户订阅其他用户的日历本后,获取的其他用户的日程;也可以是访问该用户的其他链接内容而新增的日程,例如获取用户的闹钟创建对应的日程,本公开对词不做具体限定。
在本公开的一个实施例中,获取的待展示的多个日程中包括日程信息,其中,日程信息包括该日程的起始时间、终止时间、日程内容,还可以包括日程的类别,日程的优先级等信息。这些信息都可以由用户在日历中进行自定义设置。
需要说明的是,设置日程的起始时间和终止时间时,时间点之间是存在间隔的,即存在日程间隔时间。举例而言,若日程间隔时间为15分钟,那么时间点的分钟只能是00、15、30、45,例如一个日程的起始时间是9:00,终止时间是9:45;若日程间隔时间为10分钟,那么日程的起始时间是9:00,终止时间可以是9:50。
步骤S2,基于日程的起始时间对所述多个日程进行划分得到至少一个日程组集合,并确定所述日程组集合的类型。
在本公开的一个实施例中,所述基于日程的起始时间对所述多个日程进行划分得到至少一个日程组集合,并确定所述日程组集合的类型,包括:
步骤S21,基于日程的起始时间对所述多个日程进行划分得到日程组,并将所述日程组内日程的起始时间配置为所述日程组的起始时间;
步骤S22,在存在多个日程组时,基于所述日程组之间的起始时间对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型;
步骤S23,在存在一个日程组时,将所述日程组单独划分为一日程组集合,并将所述日程组集合类型确定为非冲突日程组集合。
其中,在步骤S21中,所述基于日程的起始时间对所述多个日程进行划分得到日程组,包括:将起始时间相同的日程划分为同一日程组;以及将起始时间不同的每一日程单独划分为一日程组。
由于起始时间相同的日程排列方式类似,因此可以将日程起始时间相同的日程归入一个日程组,从而提高日程的展示效率。没有起始时间相同的日程,则可以为该日程划分一个单独的日程组。
在划分完日程组后,将日程组内日程的起始时间配置为日程组的起始时间,这样就对待展示的多个日程处理后得到了具有起始时间的日程组,并且日程组之间起始时间也不同。日程组数量的不同,后续的处理方式也不同,具体如下:
在存在多个日程组时,也就是执行步骤S22,所述基于所述日程组之间起始时间对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型,包括:
步骤S221,基于所述日程组的起始时间对所述日程组进行排序得到日程组序列;
步骤S222,根据所述日程组序列中相邻两日程组起始时间的差值与预设阈值的关系创建标识信息得到创建结果;其中,所述标识信息包括冲突标识和非冲突标识;
步骤S223,基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型。
在步骤S221中,对日程处理后已经获得的具有不同起始时间的日程组,因此按照时间的先后顺序对日程组进行排列就可以得到日程组序列。
在步骤S222中,根据所述日程组序列中相邻两日程组起始时间的差值与预设阈值的关系创建标识信息得到创建结果。
在本公开的一个实施例中,需要确定一个预设阈值,这个预设阈值决定着日程卡片的不被遮挡的区域。预设阈值需要大于日程时间间隔,且是日程时间间隔的整数倍,具体的值可以根据展示效果确定,本公开在此不做具体限定。
具体而言,若日程时间间隔为15分钟,预设阈值可以设置为30分钟,也就意味着在日历展示的图形用户界面中,从日程卡片起始时间开始的30分钟对应高度的区域不被遮挡。例如一个9:00-9:45的日程,预设阈值为30分钟,则其中9:00-9:30的区域是不可以被遮挡的。因此,若两个日程起始时间的差值小于预设阈值时,那么这两个日程则不能重叠排列,需要展示在同一行,视为日程有冲突。
在本公开的一个实施例中,根据日程组序列中相邻两日程组起始时间的差值与预设阈值的关系来创建标识信息。其中,标识信息有两种类型,为冲突标识和非冲突标识。
具体而言,当相邻两日程组起始时间的差值小于预设阈值时,为这两个日程组创建冲突标识;而当差值大于预设阈值时,为这两个日程组创建非冲突标识。
对日程组序列中相邻两日程组创建标识信息完毕后,可能会出现三种创建结果:第一种是只包括冲突标识,第二种是只包括非冲突标识,第三种是包括冲突标识和非冲突标识。
在步骤S223中,由于后续对日程的排列是以日程组集合为最小单位进行排列,因此需要将划分的日程组再划分成日程组集合,并确定日程组集合的类型。创建结果中包含的表标识信息不同,确定日程组集合及类型的方法也就不同。
对于第一种情况:在所述创建结果包括非冲突标识时,所述基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型,包括:将每一所述日程组单独划分为一日程组集合,并确定所述日程组集合的类型为非冲突日程组集合。
具体而言,由于创建结果中都是非冲突标识,也就是日程组序列中相邻两个日程组起始时间的差值都大于预设阈值,即日程组不存在冲突,此时可以将每一日程组单独划分为一日程组集合,并且确定每一个日程组集合的类型都是非冲突日程组集合。
对于第二种情况:而在所述创建结果包括冲突标识时,所述基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型,包括:将所有日程组划分为一日程组集合,并确定所述日程组集合的类型为冲突日程组集合。
具体而言,由于创建结果中都是冲突标识,也就是日程组序列中相邻两个日程组起始时间的差值都小于预设阈值,即日程组存在冲突,需要对这些存在冲突的日程进行统一排列,所以将所有的日程组划分为一个日程组集合,并且确定该日程组集合的类型为冲突日程组集合。
对于第三种情况:在所述创建结果包括非冲突标识和冲突标识,所述基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型,包括:将连续的所述冲突标识对应的日程组划分为一日程组集合,并确定所述日程组集合的类型为冲突日程组集合;在存在未划分的日程组时,将未划分的每一所述日程组单独划分为一日程组集合,并确定所述日程组集合的类型为非冲突日程组集合。
其中,首先根据冲突标识的连续性划分冲突日程组集合,最后再将剩余的日程组集合划分为非冲突日程组集合。具体地,由于日程组序列中日程组是按照日程组的时间先后进行排列的,因此创建的冲突标识也是具有先后顺序的,将连续的冲突标识对应的日程组划分为一个冲突日程组集合。
在划分了冲突日程组集合后,对剩余的日程组进行判断,若没有未划分的日程组,则这一步骤到此结束,但若还存在未被划分的日程组,则将这些日程组单独划分成日程组集合,并且每一日程组集合的类型确定为非冲突日程组集合。
举例而言,日程组一和日程组二之间创建的冲突标识,日程组二和日程组三之间创建的也是冲突标识,但日程组三和日程组四之间创建的是非冲突标识,日程组四和日程组五之间创建的又是冲突标识。那么根据创建结果,日程组一、二以及日程组二、三对应的冲突标识是连续的,日程组四、五对应的冲突标识是连续的,因此将日程组一、二、三划分为一个冲突日程组集合,日程组四、五划分为一个冲突日程组集合,没有未划分的日程组,则划分结束。
在存在一个日程组时,也就是执行步骤S23,将该日程组单独划分为一日程组集合,由于不存在其他的日程组,也就不需要判断是否存在有冲突的日程组,则直接将该日程组集合的类型确定为非冲突日程组集合。
在本公开的一个实施例中,在划分得到至少一个日程组集合,并确定所述日程组集合的类型之后,还需要配置日程组集合的起始时间。对于非冲突日程组集合来说,其中只包括一个日程组,则将该日程组的起始时间配置为非冲突日程组集合的起始时间;而对于冲突日程组集合来说,其中至少包括两个日程组,需要将起始时间最早的日程组对应的起始时间,配置为该冲突日程组集合的起始时间。
其中,非冲突日程组集合中的日程组可记为非冲突日程组,冲突日程组集合中的日程组可记为冲突日程组。
步骤S3,根据所述日程组集合的类型确定所述多个日程对应的多个日程卡片之间的重叠信息。
在本公开的一个实施例中,所述日程组集合的类型包括非冲突日程组集合和冲突日程组集合;所述根据所述日程组集合的类型确定所述多个日程对应的多个日程卡片之间的重叠信息,包括:
步骤S31,根据日程间隔时间确定时间点,并根据所述时间点创建剩余空间列表;
步骤S32,基于所述日程组集合的起始时间遍历所述日程组集合进行排列,以根据排列结果确定所述重叠信息;其中,
在所述日程组集合的类型包括冲突日程组集合时,调用第一排列方式进行排列,以基于所述剩余空间列表确定所述冲突日程组集合内冲突日程对应的日程卡片;
在所述日程组集合的类型包括非冲突日程组集合时,调用第二排列方式进行排列,以基于所述剩余空间列表确定所述非冲突日程组集合内非冲突日程对应的日程卡片。
在步骤S31中,由于日程间隔时间是预先知道的,例如15分钟,则可以根据日程间隔时间确定时间点,例如8:00、8:15、8:30等间隔15分钟的时间点,然后根据时间点来创建剩余空间列表。剩余空间列表中包括各时间点对应的剩余空间,以及每一剩余空间对应的剩余空间坐标和剩余空间宽度,其中,剩余空间坐标也就是该剩余空间左上角顶点在图形用户界面中的位置坐标。
需要说明的是,由于此时还没有进行日程排列,剩余空间列表中的剩余空间是图形用户界面的全部可展示的空间。
步骤S32则以日程组集合为最小单元进行日程排列的过程,按照日程组集合的起始时间遍历日程组集合,当类型为冲突日程组集合时,调用第一排列方式进行排列,当类型为非冲突日程组集合时,调用第二排列方式进行排列,将所有日程组集合遍历结束后得到多个日程对应的日程卡片以及这些日程卡片之间的重叠信息。
在本公开的一个实施例中,在步骤S32中,所述调用第一排列方式进行排列,以基于所述剩余空间列表确定所述冲突日程组集合内冲突日程对应的日程卡片,包括:
步骤S321,获取所述冲突日程组集合内冲突日程组的子序列,以及获取当前剩余空间列表;
步骤S322,根据所述当前剩余空间列表计算所述子序列中第一冲突日程组的冲突日程对应日程卡片的位置信息和尺寸信息,以排列所述第一冲突日程组;
步骤S323,根据已排列的冲突日程组更新所述当前剩余空间列表;
步骤S324,重复上述排列步骤直至将所述冲突日程组集合内冲突日程组排列完毕,并得到所述日程卡片之间的重叠信息。
具体地,在步骤S321中,对冲突日程组集合内的日程组进行排列时也是按照起始时间先后的顺序排列,所以首先需要根据日程组序列得到冲突日程组集合内冲突日程组的子序列,同时获取当前剩余空间列表。
需要说明的是,由于同一日程组中可能存在多个起始时间相同的日程,所以再对同一日程组内的日程排序时,可以根据日程的终止时间来排序,例如将终止时间晚的日程排在前,将终止时间早的日程排在后。当然,也可以对起始时间相同的日程给出一个随机顺序,本公开在此不做限定。
在本公开的一个实施例中,在进行排列之前,还需要步骤S320:预先确定展示列的数量,其具体过程包括以下步骤:
步骤S3201,基于预设阈值和日程间隔时间确定集合数N。
具体而言,将预设阈值和日程间隔时间的商作为集合数N,由于预设阈值为日程间隔时间的整数倍,所以集合数N就是正整数。例如预设阈值为30分钟,日程间隔时间为15分钟,则集合数N=30/15=2,而预设阈值为30分钟,日程间隔时间为10分钟,则集合数N=30/10=3。
当然,预设阈值和日程间隔时间都可以根据日程展示需要进行设定,本公开在此不做具体限定。
步骤S3202,按照所述冲突日程组的起始时间将所述冲突日程组划分至N个集合,并构建所述冲突日程组与所述集合之间的映射关系。
具体地,在确定集合数N后,先根据日程间隔时间设置N个集合,再根据冲突日程组的起始时间将这些冲突日程组划分至N个集合。
举例而言,若预设阈值为30分钟,日程间隔时间为15分钟,则集合数N=2,则设置两个集合,第一个集合是日程起始时间的分钟数为00,记为左集,并将冲突日程组集合中所有冲突日程组起始时间的分钟数为00或30的冲突日程组归入左集,并建立映射关系;第二个集合是日程起始时间的分钟数为15或45,记为右集,将分钟数为15的冲突日程组归入右集,并建立映射关系。
步骤S3203,根据所述映射关系确定所述集合对应的最大日程数,并根据所述最大日程数确定所述冲突日程组集合对应的展示列的数量。
具体而言,每个集合中包括的冲突日程组已经确定,由于存在日程组中包括多个起始时间相同的日程,所以对于每一集合,根据冲突日程组中包括的日程数,确定该集合对应的最大日程数,如果该集合中没有冲突日程组,则该集合对应的最大日程数为0。
确定了每一集合的最大日程数后,将所有集合的最大日程数全部相加得到的值,就是需要创建展示列的数量。
需要说明的是,步骤S320和步骤S321可以同时进行,也可以具有先后顺序,本公开对此不作具体限定。
步骤S322至步骤S324是对于冲突日程组集合内冲突日程组排列的具体循环过程,按照子序列依次根据当前剩余空间列表将冲突日程组排列,直至将冲突日程组集合内的所有冲突日程组排列完毕。
其中,日程对应的日程卡片可以是一个矩形区域,卡片的尺寸信息包括该矩形的宽度值和高度值。当然日程卡片还可以是根据需要设定的其他形状,例如椭圆、正六边形等,由于矩形较为常见,所以本公开中以日程卡片为矩形为例进行说明。
在步骤S322中,所述根据所述当前剩余空间列表计算所述子序列中第一冲突日程组的冲突日程对应日程卡片的位置信息和尺寸信息,包括:
基于所述第一冲突日程组的起始时间确定目标时间点,并根据所述当前剩余空间列表获取所述目标时间点对应的剩余空间信息;
根据所述剩余空间信息、第一冲突日程组中冲突日程的数量和展示列的数量计算待排列日程卡片的位置坐标和宽度值;以及
基于所述冲突日程的起始时间和终止时间计算所述冲突日程对应日程卡片的高度值。
具体而言,根据子序列选择需要排列的冲突日程组,根据冲突日程组的起始时间获取到对应时间点的剩余空间信息,剩余空间信息包括该时间点对应的剩余空间,以及剩余空间的坐标和宽度信息。
然后计算日程卡片的尺寸信息,尺寸信息中的宽度由剩余空间信息、第一冲突日程组中冲突日程的数量和展示列的数量确定,高度则由日程的起始时间和终止时间确定。
需要说明的是,在涉及到包括多个日程的日程组排列时,可以将剩余空间按照日程组的数量进行均分后进行排列,以保证每个日程组中的日程都有相同的展示空间。
在步骤S323中,所述根据已排列的冲突日程组更新所述当前剩余空间列表,包括:
获取已排列的冲突日程组对应的日程卡片;
基于预设阈值和所述日程卡片的宽度值计算所述日程卡片的第一非遮挡区域;以及
基于所述日程卡片的高度值和预设宽度值计算所述日程卡片的第二非遮挡区域;
根据所述当前剩余空间列表、所述第一非遮挡区域和所述第二非遮挡区域计算剩余空间信息以更新所述当前剩余空间列表。
图3示意性示出本公开示例性实施例中一种日程卡片非遮挡区域的示意图,参考图3所示,每一个日程卡片设置了两个非遮挡区域,第一非遮挡区域是每个日程卡片顶端的非遮挡区域,即301区域,可以展示显示日程卡片的重要信息而不被遮挡;第二非遮挡区域是每个日程卡片左侧的非遮挡区域,即302区域,能够展示出该日程的起始和终止时间。并且两个区域有所重叠。
由于本公开提供的日程展示方法中日程是可以重叠排列的,因此,需要预设非遮挡区域对日程展示的必要区域进行保留,能够在向用户清楚简洁的展示日程卡片的基础上,提供可遮挡的区域用于重叠排列,节省日程的展示空间。
第一非遮挡区域的高度值是基于预设阈值确定的,宽度值是该日程卡片本身的宽度值;第二非遮挡区域的高度值是日程卡片本身的高度值,而宽度值可以是设定的一个预设宽度值,预设宽度值的大小可以根据展示的需求设定,只需从视觉上清楚地辨析该日程的起止时间即可。
根据已排列的日程更新当前剩余空间列表时,首先计算新排列日程卡片的第一非遮挡区域和第二非遮挡区域,再从当前剩余空间列表中去除这些非遮挡区域就可以得到更新后的当前剩余空间列表,以进行下一日程的排列。
接下来,结合一个具体的应用场景,对步骤S32中调用第一排列方式进行排列的方法做详细说明。
假设一冲突日程组集合中存在五个日程,日程组1中包括日程1:9:00-10:30,日程组2中包括日程2:9:15-10:30,日程组3中包括日程3:9:30-10:30,以及日程4:9:30-10:15,日程组4中包括日程5:9:45-10:15。
首先获取冲突日程组的子序列为1-2-3-4,同时,可以获取当前剩余空间列表,由于此时日程尚未开始排列,所以剩余空间列表为冲突日程组对应的全部区域,如表1所示。
表1:剩余空间列表
然后确定展示列的数量,预设阈值设为30分钟,日程间隔时间为15分钟,则集合数N为2,将日程1、日程3和日程4归入左集,日程2和日程5归入右集,左集中同一日程组中日程最大数是2,右集中同一日程组中日程最大数是1,因此确定设置3个展示列,每一个展示列的宽度为20。其中,左集占两个展示列,右集占一个展示列。
根据子序列可知先排列日程组1,即排列日程1:9:00-10:30,根据9:00的剩余空间信息,可以将日程1排列至(0,90)处,高度为9:00-10:30对应的15,宽度为20*2=40。
然后根据已排列的日程组1更新当前剩余空间列表,计算日程1的第一非遮挡区域:高度为30分钟对应的5,宽度为40,第二非遮挡区域:高度为15,宽度为预设的2。当前剩余空间列表如表2。
表2:当前剩余空间列表
接着排列日程组2,即日程2:9:15-10:30,该日程的起始时间是9:15,对应的剩余空间S1的坐标为40,92.5,宽度为20,因此将日程2排列至(40,92.5)处,高度为9:15-10:30对应的12.5,宽度为20。
基于排列的日程2计算非遮挡区域后更新当前剩余空间列表,与之前相同,此处就不做过多赘述。
再接着排列日程组3,日程组3中包括两个日程,起始时间相同,但日程3的终止时间晚于日程4,所以将日程3排列在靠左的位置。当然,也可以按其他方式进行排列,例如将日程4排列在靠左的位置。宽度就按照日程组数量进行平分。
获取9:30对应的剩余空间列表信息为S1:坐标(2,95);宽度38,将日程3和日程4排列至S1,得到日程3卡片的坐标为(2,95),高度为9:30-10:30对应的10,宽度为38/2=19;日程4卡片的坐标为(20,95),高度为9:30-10:15对应的7.5,宽度为38/2=19。
最后排列日程组4,即日程5:9:45-10:15,获取9:45对应的剩余空间列表信息为S1:坐标(42,97.4);宽度18,因此日程5卡片的坐标为(42,97.4),宽度为18。
至此,将该冲突日程组的全部日程排列完毕,得到重叠信息为日程3、4置于日程1之上,日程5置于日程2之上。图4示意性示出本公开示例性实施例中一种图形用户界面展示效果示意图,参考图4所示,日程1~5排列如图。
在本公开的一个实施例中,在步骤S32中,所述调用第二排列方式进行排列,以基于所述剩余空间列表确定所述非冲突日程组集合内非冲突日程对应的日程卡片,包括:
步骤S321,获取所述非冲突日程组集合中非冲突日程的数量,以及获取当前剩余空间列表;
步骤S322,基于所述非冲突日程的起始时间确定目标时间点,并根据所述当前剩余空间列表获取所述目标时间点对应的剩余空间信息;
步骤S323,根据所述剩余空间信息、非冲突日程的数量计算所述非冲突日程对应日程卡片的位置坐标和宽度值;以及
步骤S324,基于所述非冲突日程的起始时间和终止时间计算所述非冲突日程对应日程卡片的高度值。
在对非冲突日程集合进行排列时,由于非冲突日程集合中只有一个日程组,相较于第一排列方式,只需要根据日程组的数量对剩余空间进行均分即可排列。
接下来,依旧是结合一个具体的应用场景对步骤S32中调用第二排列方式进行排列进行详细说明。
假如要排列两个非冲突日程组集合,第一个非冲突日程组集合中包括日程组1,即日程1:7:00-8:30,第二个非冲突日程组集合中包括日程组2:即日程2:7:30-8:30,日程3:7:30-8:00。
排列时是基于日程组集合为最小单元,因此先排列第一个日程组集合,再排列第二个。
对于第一个日程组集合,为非冲突日程组集合,调用第二排列方式进行排列。具体而言,日程组1中非冲突日程的数量为1,并获取7:00对应的剩余空间信息S1:坐标(0,70),宽度60。
因此将日程组1排列至(0,70)处,卡片的高度是7:00-8:30对应的15,宽度是60。
需要说明的是,在排列完日程卡片后仍然要更新当前剩余空间列表,以用于下一次的排列。
对于第二个日程组集合,也是非冲突日程组集合,调用第二排列方式进行排列。具体而言,日程组2中非冲突日程的数量为2,7:30对应的剩余空间信息S1:坐标(2,75),宽度58。
因此将日程2排列至(2,75),卡片的高度是7:30-8:30对应的10,宽度为58/2=29;日程3排列至(31,75),卡片的高度是7:30-8:00对应的5,宽度为58/2=29。
至此,将两个非冲突日程组集合的全部日程排列完毕,得到重叠信息为日程2、3置于日程1之上。图5示意性示出本公开示例性实施例中另一种图形用户界面展示效果示意图,参考图5所示,日程1~3排列如图。
根据图2和图5的现实结果可以看出,同样是显示着三个日程,图5中各日程的展示区域要大于图2中各日程的展示区域,展示效果得到了大幅度的提高。
步骤S4,根据所述重叠信息将所述多个日程卡片排列展示在图形用户界面中。
最后,由终端设备根据重叠信息将计算的多个日程卡片渲染在图形用户界面中以进行日程的展示,展示结果参考图所示。
其中,日程卡片上展示的日程内容可以是用户输入的日程内容,可以对内容文本进行关键句展示,或提取文本起始的部分内容进行展示,只需能展示出日程内容即可。用户点击日程卡片,还可以获取该日程卡片对应的详细日程信息。
需要说明的是,由于日程卡片的左侧的第二遮挡区域是为了体现该日程的起始时间和终止时间,因此为了突出该日程的持续时间,可以将第二非遮挡区域区别显示,例如颜色加深等。
在本公开的一个实施例中,在所述待展示的多个日程包括历史日程和新增日程时,所述方法还包括:
基于所述新增日程的起始时间确定排列时间点;
根据所述排列时间点确定目标历史日程;
将所述目标历史日程和所述新增日程作为所述待展示的多个日程以进行日程展示。
具体而言,当该日期下已经存在有历史日程,同时获取到新增日程需要展示时,新增日程的展示结果可能会影响历史日程的排列情况,因此,需要将历史日程和新增日程重新进行排列。
但由于日程是按照时间轴的顺序进行排列的,新增日程的排列只会影响在新增日程起始时间点之后的日程的排列情况,所以在基于新增日程重新排列时,有一部分的历史日程的排列结果不会发生改变,只需要选取目标历史日程,将目标历史日程和新增日程重新排列即可。
因此,首先确定排列时间点。当有一个新增日程时,该新增日程的起始时间就是排列时间点,当有多个新增日程时,起始时间最早的新增日程对应的起始时间就是排列时间点。
然后根据排列时间点确定与排列时间点相同或晚于排列时间点的目标历史日程。
最后将目标历史日程和新增日程作为待展示的多个日程进行排列,同前述方法相同,此处就不做过多说明。
基于上述方法,首先将待展示的多个日程划分为日程组集合,并确定日程组集合的类型,在排列时以日程组集合为单元遍历进行排列,多余每一日程组集合,根据日程组集合的类型调用对应的排列方法来确定日程卡片以及日程卡片之间的重叠信息,最终将所有日程卡片展示在图形用户界面中。
本公开提供的日程展示方法可以在不影响日程卡片重要信息展示的前提下,即保留非遮挡区域,将日程卡片重叠排列,能够在有限的日程展示区域展示更多的日程,提高了日程展示区域的有效利用率。在相同日程展示区域的前提下可以展示更多的日程,在展示相同日程时能够使用最小的展示区域,提高了日程展示效果。
同时,由于每个日程卡片顶部都设置了较大区域的非遮挡区域,当用户想要查看详细日程信息,可选中的区域也就较大,方便选中查看,进一步提高了用户体验。
图6示意性示出本公开示例性实施例中一种日程展示装置的组成示意图,如图6所示,该日程展示装置600可以包括获取模块601、划分模块602、排列模块603以及展示模块604。其中:
获取模块601,用于获取待展示的多个日程;
划分模块602,用于基于日程的起始时间对所述多个日程进行划分得到至少一个日程组集合,并确定所述日程组集合的类型;
排列模块603,用于根据所述日程组集合的类型确定所述多个日程对应的多个日程卡片之间的重叠信息;
展示模块604,用于根据所述重叠信息将所述多个日程卡片排列展示在图形用户界面中。
根据本公开的示例性实施例,所述排列模块603包括列表单元和排列单元(图中未示出),所述列表单元用于根据日程间隔时间确定时间点,并根据所述时间点创建剩余空间列表;所述排列单元用于基于所述日程组集合的起始时间遍历所述日程组集合进行排列,以根据排列结果确定所述重叠信息;其中,在所述日程组集合的类型包括冲突日程组集合时,调用第一排列方式进行排列,以基于所述剩余空间列表确定所述冲突日程组集合内冲突日程对应的日程卡片;在所述日程组集合的类型包括非冲突日程组集合时,调用第二排列方式进行排列,以基于所述剩余空间列表确定所述非冲突日程组集合内非冲突日程对应的日程卡片。
根据本公开的示例性实施例,所述划分模块602包括划分单元、第一类型单元和第二类型单元(图中未示出),所述划分单元用于基于日程的起始时间对所述多个日程进行划分得到日程组,并将所述日程组内日程的起始时间配置为所述日程组的起始时间;所述第一类型单元用于在存在多个日程组时,基于所述日程组之间的起始时间对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型;所述第二类型单元用于在存在一个日程组时,将所述日程组单独划分为一日程组集合,并将所述日程组集合类型确定为非冲突日程组集合。
根据本公开的示例性实施例,所述划分单元用于将起始时间相同的日程划分为同一日程组;以及将起始时间不同的每一日程单独划分为一日程组。
根据本公开的示例性实施例,所述第一类型单元包括排序单元、标识单元和类型单元,所述排序单元用于基于所述日程组的起始时间对所述日程组进行排序得到日程组序列;所述标识单元用于根据所述日程组序列中相邻两日程组起始时间的差值与预设阈值的关系创建标识信息得到创建结果;其中,所述标识信息包括冲突标识和非冲突标识;所述类型单元用于基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型。
根据本公开的示例性实施例,在所述创建结果包括非冲突标识时,所述类型单元用于将每一所述日程组单独划分为一日程组集合,并确定所述日程组集合的类型为非冲突日程组集合。
根据本公开的示例性实施例,在所述创建结果包括冲突标识时,所述类型单元用于将所有日程组划分为一日程组集合,并确定所述日程组集合的类型为冲突日程组集合。
根据本公开的示例性实施例,在所述创建结果包括非冲突标识和冲突标识,所述类型单元用于将连续的所述冲突标识对应的日程组划分为一日程组集合,并确定所述日程组集合的类型为冲突日程组集合;在存在未划分的日程组时,将未划分的每一所述日程组单独划分为一日程组集合,并确定所述日程组集合的类型为非冲突日程组集合。
根据本公开的示例性实施例,所述排列单元包括第一排列单元,用于获取所述冲突日程组集合内冲突日程组的子序列,以及获取当前剩余空间列表;根据所述当前剩余空间列表计算所述子序列中第一冲突日程组的冲突日程对应日程卡片的位置信息和尺寸信息,以排列所述第一冲突日程组;根据已排列的冲突日程组更新所述当前剩余空间列表;重复上述排列步骤直至将所述冲突日程组集合内冲突日程组排列完毕,并得到所述日程卡片之间的重叠信息。
根据本公开的示例性实施例,所述排列单元还包括展示列单元,用于基于预设阈值和日程间隔时间确定集合数N;按照所述冲突日程组的起始时间将所述冲突日程组划分至N个集合,并构建所述冲突日程组与所述集合之间的映射关系;根据所述映射关系确定所述集合对应的最大日程数,并根据所述最大日程数确定所述冲突日程组集合对应的展示列的数量。
根据本公开的示例性实施例,所述尺寸信息包括宽度值和高度值,所述第一排列单元还用于基于所述第一冲突日程组的起始时间确定目标时间点,并根据所述当前剩余空间列表获取所述目标时间点对应的剩余空间信息;根据所述剩余空间信息、第一冲突日程组中冲突日程的数量和展示列的数量计算待排列日程卡片的位置坐标和宽度值;以及基于所述冲突日程的起始时间和终止时间计算所述冲突日程对应日程卡片的高度值。
根据本公开的示例性实施例,所述第一排列单元还用于获取已排列的冲突日程组对应的日程卡片;基于预设阈值和所述日程卡片的宽度值计算所述日程卡片的第一非遮挡区域;以及基于所述日程卡片的高度值和预设宽度值计算所述日程卡片的第二非遮挡区域;根据所述当前剩余空间列表、所述第一非遮挡区域和所述第二非遮挡区域计算剩余空间信息以更新所述当前剩余空间列表。
根据本公开的示例性实施例,所述排列单元包括第二排列单元,用于获取所述非冲突日程组集合中非冲突日程的数量,以及获取当前剩余空间列表;基于所述非冲突日程的起始时间确定目标时间点,并根据所述当前剩余空间列表获取所述目标时间点对应的剩余空间信息;根据所述剩余空间信息、非冲突日程的数量计算所述非冲突日程对应日程卡片的位置坐标和宽度值;以及基于所述非冲突日程的起始时间和终止时间计算所述非冲突日程对应日程卡片的高度值。
根据本公开的示例性实施例,所述待展示的多个日程包括多个新增日程;或者所述待展示的多个日程包括历史日程和一个或多个新增日程。
根据本公开的示例性实施例,所述日程展示装置600还包括第二展示单元(图中未示出),用于基于所述新增日程的起始时间确定排列时间点;根据所述排列时间点确定目标历史日程;将所述目标历史日程和所述新增日程作为所述待展示的多个日程以进行日程展示。
上述的日程展示装置600中各模块的具体细节已经在对应的日程展示方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的存储介质。图7示意性示出本公开示例性实施例中一种计算机可读存储介质的示意图。如图7所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品700,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如手机上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。图8示意性示出本公开示例性实施例中一种电子设备的计算机系统的结构示意图。
需要说明的是,图8示出的电子设备的计算机系统800仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(Central Processing Unit,CPU)801,其可以根据存储在只读存储器(Read-Only Memory,ROM)802中的程序或者从存储部分808加载到随机访问存储器(Random Access Memory,RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(Input /Output,I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本公开的系统中限定的各种功能。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (17)
1.一种日程展示方法,其特征在于,包括:
获取待展示的多个日程;
基于日程的起始时间对所述多个日程进行划分得到日程组;
在存在多个日程组时,基于所述日程组的起始时间以及预设阈值对所述多个日程组进行划分得到至少一个日程组集合,并确定所述日程组集合的类型;
在存在一个日程组时,将所述日程组单独划分为一日程组集合,并将所述日程组集合的类型确定为非冲突日程组集合;
根据所述日程组集合的类型确定所述多个日程对应的多个日程卡片之间的重叠信息;
根据所述重叠信息将所述多个日程卡片排列展示在图形用户界面中。
2.根据权利要求1所述的日程展示方法,其特征在于,所述日程组集合的类型包括非冲突日程组集合和冲突日程组集合;所述根据所述日程组集合的类型确定所述多个日程对应的多个日程卡片之间的重叠信息,包括:
根据日程间隔时间确定时间点,并根据所述时间点创建剩余空间列表;
基于所述日程组集合的起始时间遍历所述日程组集合进行排列,以根据排列结果确定所述重叠信息;
其中,在所述日程组集合的类型包括冲突日程组集合时,调用第一排列方式进行排列,以基于所述剩余空间列表确定所述冲突日程组集合内冲突日程对应的日程卡片;
在所述日程组集合的类型包括非冲突日程组集合时,调用第二排列方式进行排列,以基于所述剩余空间列表确定所述非冲突日程组集合内非冲突日程对应的日程卡片。
3.根据权利要求1所述的日程展示方法,其特征在于,所述基于日程的起始时间对所述多个日程进行划分得到日程组,包括:
将起始时间相同的日程划分为同一日程组;以及
将起始时间不同的每一日程单独划分为一日程组。
4.根据权利要求1所述的日程展示方法,其特征在于,所述在存在多个日程组时,基于所述日程组的起始时间以及预设阈值对所述多个日程组进行划分得到至少一个日程组集合,并确定所述日程组集合的类型,包括:
将所述日程组内日程的起始时间配置为所述日程组的起始时间;
基于所述日程组的起始时间对所述日程组进行排序得到日程组序列;
根据所述日程组序列中相邻两日程组起始时间的差值与预设阈值的关系创建标识信息得到创建结果;其中,所述标识信息包括冲突标识和非冲突标识;
基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型。
5.根据权利要求4所述的日程展示方法,其特征在于,在所述创建结果包括非冲突标识时,所述基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型,包括:
将每一所述日程组单独划分为一日程组集合,并确定所述日程组集合的类型为非冲突日程组集合。
6.根据权利要求4所述的日程展示方法,其特征在于,在所述创建结果包括冲突标识时,所述基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型,包括:
将所有日程组划分为一日程组集合,并确定所述日程组集合的类型为冲突日程组集合。
7.根据权利要求4所述的日程展示方法,其特征在于,在所述创建结果包括非冲突标识和冲突标识时,所述基于所述创建结果对所述日程进行划分以得到日程组集合,并确定所述日程组集合的类型,包括:
将连续的所述冲突标识对应的日程组划分为一日程组集合,并确定所述日程组集合的类型为冲突日程组集合;
在存在未划分的日程组时,将未划分的每一所述日程组单独划分为一日程组集合,并确定所述日程组集合的类型为非冲突日程组集合。
8.根据权利要求2所述的日程展示方法,其特征在于,所述调用第一排列方式进行排列,以基于所述剩余空间列表确定所述冲突日程组集合内冲突日程对应的日程卡片,包括:
获取所述冲突日程组集合内冲突日程组的子序列,以及获取当前剩余空间列表;
根据所述当前剩余空间列表计算所述子序列中第一冲突日程组的冲突日程对应日程卡片的位置信息和尺寸信息,以排列所述第一冲突日程组;
根据已排列的冲突日程组更新所述当前剩余空间列表;
重复上述排列步骤直至将所述冲突日程组集合内冲突日程组排列完毕,并得到所述日程卡片之间的重叠信息。
9.根据权利要求8所述的日程展示方法,其特征在于,在根据所述当前剩余空间列表计算所述子序列中第一冲突日程组的冲突日程对应日程卡片的位置信息和尺寸信息之前,所述方法还包括:
基于预设阈值和日程间隔时间确定集合数N;
按照所述冲突日程组的起始时间将所述冲突日程组划分至N个集合,并构建所述冲突日程组与所述集合之间的映射关系;
根据所述映射关系确定所述集合对应的最大日程数,并根据所述最大日程数确定所述冲突日程组集合对应的展示列的数量。
10.根据权利要求8所述的日程展示方法,其特征在于,所述尺寸信息包括宽度值和高度值,所述根据所述当前剩余空间列表计算所述子序列中第一冲突日程组的冲突日程对应日程卡片的位置信息和尺寸信息,包括:
基于所述第一冲突日程组的起始时间确定目标时间点,并根据所述当前剩余空间列表获取所述目标时间点对应的剩余空间信息;
根据所述剩余空间信息、第一冲突日程组中冲突日程的数量和展示列的数量计算待排列日程卡片的位置坐标和宽度值;以及
基于所述冲突日程的起始时间和终止时间计算所述冲突日程对应日程卡片的高度值。
11.根据权利要求8所述的日程展示方法,其特征在于,所述根据已排列的冲突日程组更新所述当前剩余空间列表,包括:
获取已排列的冲突日程组对应的日程卡片;
基于预设阈值和所述日程卡片的宽度值计算所述日程卡片的第一非遮挡区域;以及
基于所述日程卡片的高度值和预设宽度值计算所述日程卡片的第二非遮挡区域;
根据所述当前剩余空间列表、所述第一非遮挡区域和所述第二非遮挡区域计算剩余空间信息以更新所述当前剩余空间列表。
12.根据权利要求2所述的日程展示方法,其特征在于,所述调用第二排列方式进行排列,以基于所述剩余空间列表确定所述非冲突日程组集合内非冲突日程对应的日程卡片,包括:
获取所述非冲突日程组集合中非冲突日程的数量,以及获取当前剩余空间列表;
基于所述非冲突日程的起始时间确定目标时间点,并根据所述当前剩余空间列表获取所述目标时间点对应的剩余空间信息;
根据所述剩余空间信息、非冲突日程的数量计算所述非冲突日程对应日程卡片的位置坐标和宽度值;以及
基于所述非冲突日程的起始时间和终止时间计算所述非冲突日程对应日程卡片的高度值。
13.根据权利要求1所述的日程展示方法,其特征在于,所述待展示的多个日程包括多个新增日程;或者所述待展示的多个日程包括历史日程和一个或多个新增日程。
14.根据权利要求13所述的日程展示方法,其特征在于,在所述待展示的多个日程包括历史日程和一个或多个新增日程时,所述方法还包括:
基于所述新增日程的起始时间确定排列时间点;
根据所述排列时间点确定目标历史日程;
将所述目标历史日程和所述新增日程作为所述待展示的多个日程以进行日程展示。
15.一种日程展示装置,其特征在于,包括:
获取模块,用于获取待展示的多个日程;
划分模块,用于基于日程的起始时间对所述多个日程进行划分得到日程组;在存在多个日程组时,基于所述日程组的起始时间以及预设阈值对所述多个日程组进行划分得到至少一个日程组集合,并确定所述日程组集合的类型;在存在一个日程组时,将所述日程组单独划分为一日程组集合,并将所述日程组集合的类型确定为非冲突日程组集合;
排列模块,用于根据所述日程组集合的类型确定所述多个日程对应的多个日程卡片之间的重叠信息;
展示模块,用于根据所述重叠信息将所述多个日程卡片排列展示在图形用户界面中。
16.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1至14任一项所述的日程展示方法。
17.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至14任一项所述的日程展示方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110226344.4A CN112817499B (zh) | 2021-03-01 | 2021-03-01 | 日程展示方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110226344.4A CN112817499B (zh) | 2021-03-01 | 2021-03-01 | 日程展示方法、装置、存储介质及电子设备 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN112817499A CN112817499A (zh) | 2021-05-18 |
| CN112817499B true CN112817499B (zh) | 2022-04-08 |
Family
ID=75862491
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202110226344.4A Active CN112817499B (zh) | 2021-03-01 | 2021-03-01 | 日程展示方法、装置、存储介质及电子设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN112817499B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114911864A (zh) * | 2022-05-13 | 2022-08-16 | 上海仁静信息技术有限公司 | 日程显示方法、装置、计算机设备以及存储介质 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20070068001A (ko) * | 2005-12-26 | 2007-06-29 | 주식회사 팬택 | 이동통신단말기의 해외 일정 등록방법 |
| JP5359693B2 (ja) * | 2009-08-28 | 2013-12-04 | コニカミノルタ株式会社 | 画像形成装置および画像形成方法 |
| CN103984465A (zh) * | 2013-02-07 | 2014-08-13 | 华为终端有限公司 | 用户界面上日历内容的显示方法与移动终端 |
| CN108605069A (zh) * | 2017-01-25 | 2018-09-28 | 华为技术有限公司 | 一种日程处理方法及电子终端 |
| CN111240779A (zh) * | 2020-01-03 | 2020-06-05 | 北京小米移动软件有限公司 | 日历显示方法、装置以及存储介质 |
-
2021
- 2021-03-01 CN CN202110226344.4A patent/CN112817499B/zh active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CN112817499A (zh) | 2021-05-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7009479B2 (ja) | メッセージ処理方法および装置 | |
| CN112650766A (zh) | 数据库数据操作的方法、系统及服务器 | |
| CN109144649A (zh) | 图标的显示方法、装置、终端及存储介质 | |
| CN108388515A (zh) | 测试数据生成方法、装置、设备以及计算机可读存储介质 | |
| CN109814971B (zh) | 桌面应用图标排列方法、电子装置及存储介质 | |
| CN107133909B (zh) | 一种着色器重组的方法及装置 | |
| CN107909368A (zh) | 支付控制方法及装置、终端及可读存储介质 | |
| CN112817499B (zh) | 日程展示方法、装置、存储介质及电子设备 | |
| CN110750711B (zh) | 数据推送方法、装置、计算机设备及存储介质 | |
| US20160189106A1 (en) | Plan analysis server system and method | |
| CN113312135B (zh) | 一种列表展示方法、装置、计算机设备及存储介质 | |
| CN106874326A (zh) | 一种条目列表获取请求处理方法及装置 | |
| CN109240893B (zh) | 应用运行状态查询方法及终端设备 | |
| CN110609927B (zh) | 一种可视化家谱布局方法、终端设备及存储介质 | |
| CN115330219A (zh) | 一种资源调度的方法及装置 | |
| CN114254600A (zh) | 下拉列表显示方法、装置、设备及存储介质 | |
| CN113609823A (zh) | 问卷逻辑的编辑方法、装置、终端设备及存储介质 | |
| CN112732242A (zh) | 宽表加工脚本的生成方法及装置 | |
| CN112578956A (zh) | 日期时间范围的处理方法、存储介质及电子设备 | |
| CN114153345B (zh) | 多时间节点选择方法、装置、电子设备及存储介质 | |
| CN111966688B (zh) | 基于大数据的表单处理方法、装置及存储介质 | |
| CN113676759B (zh) | 媒体添加方法和媒体添加装置 | |
| CN115935917A (zh) | 一种可视化图表的数据处理方法、装置、设备及存储介质 | |
| CN111309463B (zh) | 一种任务执行时间的确定方法、确定装置及可读存储介质 | |
| CN110493808B (zh) | 云sim卡资源调整方法、管理平台及介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |