数据格式

用具有一致性且对用户友好的方式展示如日期时间这样的数据. 确保呈现的信息是简洁的, 避免不必要的冗余.

日期与时间

此指南适用于:

  • 当前日期与时间
  • 日期与时间设置, 例如闹钟或提醒
  • 当一个对象被创建, 发送, 编辑或其他操作行为发生时的时间和日期

基本显示

关于时间, 使用大写的 AM 或 PM 区分时段, 用空格与时间分隔开.

  1. 10:00 AM

如果时间戳正好是当日, 也通常不要要显示例如 “今天”, 星期几或日期. 保持 “小时:分钟 AM/PM” 的时间显示格式.

  1. 11:51 AM

如果是当前年份内某日, 显示缩写日期.

  1. Jul 14

如果不是当前年度份某日, 显示缩写日期和年份.

  1. Jul 14, 2012

如果显示一个时间段, 用两边没有空格的短破折号分隔开.

  1. 8:00 AM12:30 PM
  2. Jan 6Feb 2

如果时间段的开始和结束都在当前年份, 则不必显示年. 否则, 在开始和结束时间都要添加年份.

  1. Dec 6, 2013Jan 2, 2014

当时间段同处于上午或下午, 只需要在结束时间处添加 AM/PM.

  1. 8:0010:30 AM

当显示时区时, 要去掉个位数字掉开头的0.

  1. UTC+5:00

使用相对的词语和大致的时间

如果空间允许, 可以用与当前日期/时间相关的词语代替显示, 就像与人日常对话那样.

如果是昨天或明天, 直接用这个说法即可.

  1. Yesterday, Tomorrow

如果是本周内未来某日, 显示不缩写的星期几.

  1. Tuesday

如果某个词语可以用来指代或描述一天中某个时间, 也可以用它来代替具体时间.

  1. Store open 9:00 AMMidnight
  2. Reminder for tomorrow afternoon

如果不是用于比较或其他必须使用绝对时间的场景, 也可以选择使用大致的相对时间.

避免多个单位混用 (例如 “1 hour 32 minutes ago”). 而是要向最高的单位取整 (例如 “1 hour ago”).

  1. In 5 minutes
  2. 8 hours from now
  3. 3 days ago

相对的词语并不是任何情况都适用, 例如, 时钟应用中显示的当前时间, 以及事件或闹钟指定的时间. 这些情况下, 要使用绝对时间.

  1. Mon, Jan 10
  2. Today, 10:00 AM

模块化

依据上下文来决定显示日期或时间, 或两者都显示.

通常, 表示未来的时刻, 要为日期附上时间

  1. Jan 10, 8:00 AM

如果必须要表示一个过去的时刻, 例如已经触发的提醒 (reminder), 日期与时间都要显示.

  1. Reminded Jan 5, 7:16 AM

如果必须要表示出一周的某一天,如日历中的邀请 (a calendar invite),显示缩写的星期并用逗号分隔。

  1. Mon, Jan 10, 8:00 AM

如果表示一个较远的过去时刻, 省略时间.

  1. Jan 3

用 HH:MM:SS 的格式显示录制内容的播放时长 (duration of a recording), 例如音频或视频. 小时或秒如果不是必要的, 可以省略.

  1. 0:30
  2. 2:14
  3. 1:01:05

保持简洁

永远使用缩写的月份, 个位或十位数字的日期.

  1. Jan 6, Feb 7, Mar 8, Apr 9, May 10, Jun 11,
  2. Jul 12, Aug 13, Sep 14, Oct 15, Nov 16, Dec 17

与时间组合使用时, 永远使用缩写的星期

  1. Mon, 8:00 AM
  2. Tue, 9:00 AM
  3. Wed, 10:00 AM
  4. Thu, 11:00 AM
  5. Fri, 12:00 PM
  6. Sat, 1:00 PM
  7. Sun, 2:00 PM

如果显示空间 (real estate) 有限(例如时间戳, 图片上的文字标签, 播放时长等),
可以缩写单位, 使用简化的数字并移除 “:00”.

  1. 8 AM
  2. 2 hr 32 min ago
  3. 3/12/12

如果用 “tomorrow” 或 “yesterday” 太长经常被截断, 也不要缩写, 直接用月份加日期的格式.

  1. Jun 6

原文:Data formats 翻译:IsNoFate 校对: