Local time
A timestamp shown in the viewer's own locale and time zone, formatted by the browser with Intl. Until the element upgrades, the server's rendering in Time.zone shows instead.
Relative, keeping itself current
format: :relative stays current on a shared timer; compact: true shortens it to "5m".
| Rendered for | format: :relative | compact: true |
|---|---|---|
| 10 seconds ago | ||
| 5 minutes ago | ||
| 3 hours ago | ||
| 1 day ago | ||
| 3 days ago | ||
| 40 days ago | ||
| In 2 hours | ||
| In 400 days |
<%= table_tag [ "Rendered for", "format: :relative", "compact: true" ],
[
[ "10 seconds ago", @now - 10.seconds ],
[ "5 minutes ago", @now - 5.minutes ],
[ "3 hours ago", @now - 3.hours ],
[ "1 day ago", @now - 1.day ],
[ "3 days ago", @now - 3.days ],
[ "40 days ago", @now - 40.days ],
[ "In 2 hours", @now + 2.hours ],
[ "In 400 days", @now + 400.days ]
].map { |label, at|
[ label, local_time_tag(at, format: :relative), local_time_tag(at, format: :relative, compact: true) ]
},
widths: [ "30%", "40%", "30%" ] %>| format: | Rendered |
|---|---|
:short | |
:medium | |
:long | |
:full | |
:date | |
:time |
<%= table_tag [ "format:", "Rendered" ],
%i[short medium long full date time].map { |format|
[ tag.code(":#{format}"), local_time_tag(@now, format: format) ]
},
widths: [ "30%", "70%" ] %>