从零开始学运营,10年经验运营总监亲授,2天线下集训+1年在线学习,做个有竞争力的运营人。 了解一下
释放双眼,带上耳机,听听看~!
00:00
00:00
日期时间选择器作为B端业务中常用的基础组件之一,在设计它的时候,我们总会遇到形形色色的问题。笔者结合经验为我们介绍了如何避免这些问题,来看看吧:
时间日期选择器作为B端业务中常用的基础组件之一,如何设计才能够满足业务的需求?需要注意哪些问题才能不被老板、业务方甚至前端同学diss?什么样的场景下该用什么样的日期选择器?
这篇文章对于时间日期选择器进行了精细的拆解,结合作者自己的经验总结了时间日期选择器的使用方法,希望对你有所帮助。
日期时间选择控件(选择器)是帮助用户选择(输入)日期和时间的控件。
日期时间选择器相对于下拉菜单、单选/复选框、开关等常用组件的操作成本较高,使用时需要考虑日期时间选择器是否为最佳方案,是否有别的组件或交互方式可以更高效的达到目标。如预先定义的日期选择按钮,可勾选的时间段等。
上图中,携程网购买火车票时对于出发时段和到达时段的筛选采用了复选框的形式,相比时间日期选择器更加直观和高效。
明确所需要的日期时间选择器用于选择特定的时间点还是某一时间段,然后确定选择器的时间粒度,即精确到月份、天、小时、分钟还是秒。
支持输入的选择器既允许用户通过点击选择日期,也可以在框内自行输入日期。在某些场景下,直接输入的效率会明显高于点选。
使用条件:
注意事项:
支持多种格式输入(宽容的):
常见的日期格式有”2019-05-18″、”2019.05.18“、”2019/05/18“、”20190518“、”2019年05月18日“;常见的时间格式有”13:40:38“、”13点40分38秒“。
用户无论输入哪种格式,都会自动转化为选择器所规范的样式,避免只支持单一格式的输入。当产品对国外开放使用时,应当注意不同国家对日期的使用标准是不同的,如07/06/2019,在美国表示2019年7月6日,而在一些北欧国家则表示2019年6月7日。
提供一个日期格式,在用户输入前给出提示(规范的)。
当用户开始输入时,日,月和年之间的切换应该是流畅的,用户除了键入数字不需要做其他事情。当用户激活输入字段时,保留日期格式(在占位符中),当用户手动输入日期时,保持显示分隔符和占位符。如果由于某种原因不能实现,可以使用浮动标签继续显示格式。
支持自动纠错(智能的):对于用户错误的输入可帮助用户自动修正,如用户输入2019-03-33时,会自动将日期转化为2019-04-02等。
为用户提供预设的选项帮助用户进行快捷选择,如昨天、三天、一周、一个月等,在数据分析的场景中,用户需要查看周期内的数据情况,快捷选择显得尤为方便。
使用条件:
注意事项:
在输入框中为用户预先填好默认值,减少用户操作;像一些出行、旅游类网站,临近节假日时会默认为用户选中节假日。如谷歌航班搜索机票时,会默认填充当前日期两周以后的时间为起始日期,5天后返程(基于大量普通客户的旅行行为习惯)。
使用条件:
注意事项:
在填写表单的场景中,日期时间选择框作为必填项时不需要提供日期清空按钮;在作为筛选条件的场景中,需要为用户提供清空/重置的操作,用户可快捷清空所选日期,避免逐字删除。
使用条件:
日期选择作为一个筛选条件,而非必选项时需提供快捷清空的操作。
注意事项:
点击选择框触发下拉面板,而不是点击框中的日期图标触发下拉面板;对于支持输入的选择器,触发下拉面板时,光标在输入框中闪烁,可点选日期也可直接输入。
PS:选择日期区间时使用了2个日期组件时,通常第一个组件日期选择完成后,下拉面板收起同时第二个组件下拉面板弹出,保证选择的连贯性,减少操作。
在日期选择器中为用户标示出当天的日期,以便用户查看所选日期和当前日期之间的关系,帮助用户更快的做出决策,必要时也可以标出周末、节假日等特殊日期。
艺龙网的日期控件将休息日和工作日做了明显区分,选择时还为用户计算出几个晚上,大大减少了用户判断和记忆的成本,减少错误的发生。
当用户选择其他日期后,也需要根据场景判断是否为用户提供”今日“、”此刻“等操作。
国际标准化组织的国际标准ISO 8601《数据存储和交换形式·信息交换·日期和时间的表示方法》规定了日期和时间的表示方法,其中明确指出:每个日历星期从星期一开始,星期日为第7天。我国采用的国家标准(中华人民共和国国家标准GB/T 7408-2005《数据元和交换格式·信息交换·日期和时间表示法》)和国际标准相同,也以周一为一周的第一天。
具体如下: 在星期日期的表达式中, ——星期中的日期用一位十进制数表示。任何一个日历星期的星期一标识为该星期的第一天,以[1]标识,同一星期的后继各日按递增顺序编号,一直排列到星期日(以[7]标识)。
国际标准和国家标准中明确指出“周一”为一周的第一天,但目前许多平台(ios中日历等)仍然沿用最初的习惯,将“周日”放在日历的第一列,目前两种形式使用都比较普遍。
使用标准:
1. 根据产品所提供的服务;
2. 根据产品所定位的受众。对出行、住宿类平台提供服务时,将“周一”放在第一列比较好,原因:
对于跨度较小的时间选择,只提供“上一月”、“下一月”的操作即可。常见如出行、租车等网站,用户一般不会提前几年制定计划,而对于跨度大或没有固定场景的选择,就需要提供月份和年份的切换。
目前效率较高的交互形式:”< ”、“>”用于上一月、下一月的快捷切换,“《“、”》”用于上一年、下一年的快捷切换。点击面板顶部的年份/月份,可进行跨度较大的年份和月份选择,如下图:
还有一种带有Mini-stepper形式,在不展开下拉面板时,可通过”< ”、“>”进行微调时间,“前一天”、“后一天”,这种样式比较适用于微调的场景。
日期区间由起始日期和终止日期两个时间点组成,常用的日期区间的交互主要有2种:
a. 起始日期和终止日期使用两个组件分开展示,常见如出行、酒旅类网站,携程、艺龙、马蜂窝、飞猪等。
交互:激活起始日期的下拉面板,选择日期后下拉面板收起,再点击终止日期选择框激活下拉面板(有的终止日期下拉框在选择完起始日期后会自动弹出,减少用户一次点击操作),下拉面板中初始日期之前的时间不可选择,避免用户产生迷惑。
b. 起始日期和终止日期使用一个组件展示,常见如B端产品中对于内容进行日期筛选。
交互:选择区间时,点击不分先后,通过两次点击完成区间的设定,第一次点击后区间随用户移动鼠标而变化,再次点击完成选择并标示出区间,修改时需要重新点击起始时间和终止时间。
a. 根据用户:
A类主要面向C端用户,用户水平参差不齐,起始日期和终止日期分开展示并且标明了哪个是起始日期哪个是终止日期,将用户的认知成本降到了最低,每个操作只对应完成一件事。
B类主要面向B端用户,此类用户有一定的知识积累,更加注重使用的效率,相比较于A类降低了用户的操作成本和视觉成本(认知成本>操作成本>视觉成本)。
b. 根据场景:
A类常用于对未来日期的选择,用户潜意识中会先选择距离当前日期最近的时间点,因此在设计时会引导用户优先选择起始日期,再根据起始日期决定终止日期,用户修改时只修改起始日期或终止日期的场景也比较常见。
B类常用于对已过去日期的选择,此时不排除用户会先选择终止日期(因终止日期距离当前日期较近),根据终止日期倒推起始日期,因此点击不分先后,不会强制用户先点起始日期。
c. 根据目标:
A类主要以完成任务为主(任务型),清晰的分类和较低的认知成本主要是帮助用户完成任务,提高网站的成交量订单量;
B类主要以提高效率为主(效率型),提高使用者的效率即是为企业节约成本。
时间点的选择需要频繁的与组件进行交互,常见的时间选择有以下几种:
注意事项:
注意事项:
选择日期点:
a. 精确到天:点击对应日期(一次点击)后直接收起下拉面板;
b. 精确到时间:若下拉面板与框内数据不联动(此时需要确定、取消按钮),点击确定收起下拉面板同时变更时间,点击取消/空白区域不提交时间;若下拉面板与框内数据联动(此时不需要确定、取消按钮),点击空白区域收起下拉面板同时变更时间。
选择日期段:
a. 精确到天:点击起始和终止时间(两次点击)后直接收起下拉面板;
b. 精确到时间:若下拉面板与框内数据不联动(此时需要确定、取消按钮),点击确定收起下拉面板同时变更时间,点击取消/空白区域不提交时间;若下拉面板与框内数据联动(此时不需要确定、取消按钮),点击空白区域收起下拉面板同时变更时间。
精确到时间时,需要多次交互,建议数据实时联动,给用户及时的反馈。
支持常见的键盘按键:Enter、Esc、上下左右。
下拉面板展开时,点Enter键可提交日期并收起下拉面板,当输入框支持输入时同理。
用于输入框内光标位置的变化
当输入框中键入了字母、其他特殊字符等,需要做自动去除,并转化为正确的日期格式;如输入”18w:11。23″ 提交后需自动转化为“18:11:23”。
上一篇文章《产品动效设计指南》中讲到了动效设计的作用,在时间日期选择器中合理运用动效可以引导用户视线,帮助用户高效完成任务。
展开时面板由上向下拉伸(400ms),引导用户视线,展开时先快后慢,收起时先慢后快。
月份切换时,日期区域水平滑动(450ms),旧日期退出时逐渐加快,新日期进入时逐渐变慢。
出场动效一般比入场动效更快,因为元素入场时用户一般需要阅读并处理新出现的信息,而元素出场时通常表明用户在此元素上的任务已完成,不需要再关注了,快速出场能够节省用户更多时间。
选择年份时,元素由日期变为年份,采用缩小动画(450ms)聚焦用户视线;由年份进入月份时,采用放大动画,给用户进入的感觉。(参考ios系统进入、退出app)
置身用户的使用场景中,以用户的视角去解决问题,注重人性化设计。记得2016年网易校招网上填写信息选择出生日期时,默认为用户选择的出生年份是1994年,这个贴心的设计大大提升了用户的选择效率。
是否可以支持类似”昨天“、“7天内”、“一个月前”等智能形式的输入,来提高时间选择的效率,如:
文章很长,也很枯燥,感谢你能够读到这里,期望能对你有或多或少的帮助,如果你有什么建议或疑问,欢迎与我交流。
作者:墨白,公众号:UED_family
本文由 @墨白 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议