模式 - 数据格式
用具有一致性且对用户友好的方式展示如日期时间这样的数据. 确保呈现的信息是简洁的, 避免不必要的冗余.
日期与时间
此指南适用于:
- 当前日期与时间
- 日期与时间设置, 例如闹钟或提醒
- 当一个对象被创建, 发送, 编辑或其他操作行为发生时的时间和日期
基本显示
关于时间, 使用大写的 AM 或 PM 区分时段, 用空格与时间分隔开.
10:00 AM
如果时间戳正好是当日, 也通常不要要显示例如 “今天”, 星期几或日期. 保持 “小时:分钟 AM/PM” 的时间显示格式.
11:51 AM
如果是当前年份内某日, 显示缩写日期.
Jul 14
如果不是当前年度份某日, 显示缩写日期和年份.
Jul 14, 2012
如果显示一个时间段, 用两边没有空格的短破折号分隔开.
8:00 AM–12:30 PM
Jan 6–Feb 2
如果时间段的开始和结束都在当前年份, 则不必显示年. 否则, 在开始和结束时间都要添加年份.
Dec 6, 2013–Jan 2, 2014
当时间段同处于上午或下午, 只需要在结束时间处添加 AM/PM.
8:00–10:30 AM
当显示时区时, 要去掉个位数字掉开头的0.
UTC+5:00
使用相对的词语和大致的时间
如果空间允许, 可以用与当前日期/时间相关的词语代替显示, 就像与人日常对话那样.
如果是昨天或明天, 直接用这个说法即可.
Yesterday, Tomorrow
如果是本周内未来某日, 显示不缩写的星期几.
Tuesday
如果某个词语可以用来指代或描述一天中某个时间, 也可以用它来代替具体时间.
Store open 9:00 AM–Midnight
Reminder for tomorrow afternoon
如果不是用于比较或其他必须使用绝对时间的场景, 也可以选择使用大致的相对时间.
避免多个单位混用 (例如 “1 hour 32 minutes ago”). 而是要向最高的单位取整 (例如 “1 hour ago”).
In 5 minutes
8 hours from now
3 days ago
相对的词语并不是任何情况都适用, 例如, 时钟应用中显示的当前时间, 以及事件或闹钟指定的时间. 这些情况下, 要使用绝对时间.
Mon, Jan 10
Today, 10:00 AM
模块化
依据上下文来决定显示日期或时间, 或两者都显示.
通常, 表示未来的时刻, 要为日期附上时间
Jan 10, 8:00 AM
如果必须要表示一个过去的时刻, 例如已经触发的提醒 (reminder), 日期与时间都要显示.
Reminded Jan 5, 7:16 AM
如果必须要表示出一周的某一天,如日历中的邀请 (a calendar invite),显示缩写的星期并用逗号分隔。
Mon, Jan 10, 8:00 AM
如果表示一个较远的过去时刻, 省略时间.
Jan 3
用 HH:MM:SS 的格式显示录制内容的播放时长 (duration of a recording), 例如音频或视频. 小时或秒如果不是必要的, 可以省略.
0:30
2:14
1:01:05
保持简洁
永远使用缩写的月份, 个位或十位数字的日期.
Jan 6, Feb 7, Mar 8, Apr 9, May 10, Jun 11,
Jul 12, Aug 13, Sep 14, Oct 15, Nov 16, Dec 17
与时间组合使用时, 永远使用缩写的星期
Mon, 8:00 AM
Tue, 9:00 AM
Wed, 10:00 AM
Thu, 11:00 AM
Fri, 12:00 PM
Sat, 1:00 PM
Sun, 2:00 PM
如果显示空间 (real estate) 有限(例如时间戳, 图片上的文字标签, 播放时长等),
可以缩写单位, 使用简化的数字并移除 “:00”.
8 AM
2 hr 32 min ago
3/12/12
如果用 “tomorrow” 或 “yesterday” 太长经常被截断, 也不要缩写, 直接用月份加日期的格式.
Jun 6
原文:Data formats 翻译:IsNoFate 校对: