Foundations · Content
Date and Time
Dates and times should be unambiguous in dashboards, notifications, and agent replies. Prefer formats that scan well in UI and defer locale-specific rendering to your i18n layer—not hand-typed strings.
Localization
Don’t hardcode formatted dates in components. Engineers should use locale-aware APIs so display matches the signed-in user’s settings. Designers specify which format length fits the layout; implementation handles how it renders.
Date formats
Nexus People OS specs default to US-style long dates in English mockups. Pick the shortest length that still reads clearly.
- Full — Monday, June 12, 2026
- Long — June 12, 2026
- Medium — Jun 12, 2026 (tight spaces only)
- Short / machine — 2026-06-12 (ISO 8601) for exports, filters, and logs—not primary display
Don’t use ordinal dates (June 12th). Avoid ambiguous numeric dates like 06/12/2026 in user-facing UI.
Date ranges
Use “to” between dates and years. Use “and” after “between”.
Do
2024 to 2025 · Between March and May
Don’t
2024–2025 (avoid for screen-reader clarity in UI copy)
Time formats
- Use a colon between hours and minutes: 2:40 p.m.
- Lowercase “a.m.” and “p.m.” with a space before them.
- Prefer noon, midnight, or midday instead of 12:00 p.m. / a.m. when space allows.
- 24-hour time is fine for ops, security, or system-driven views when locale settings require it.
Time ranges
Repeat a.m./p.m. only when the range crosses noon or midnight.
Example
10 a.m. to 2 p.m. · 6:30 to 10 p.m.
Relative time
Use friendly relative labels when precision matters less than recency—for example, activity feeds.
- Just now · 5 minutes ago · Yesterday · 3 days ago
- After about a week, show the absolute date (Jun 8, 2026).
- Offer the full timestamp on hover or in a detail view when you show a relative label.
Say “every 2 weeks”, not “fortnightly”. Say “twice a year”, not “biannual”, unless the term is legally required.
Capitalization
Capitalize names of months and days. Capitalize named holidays and observances.