basecamp/local_time — 2.0k★ on GitHub (JavaScript). Rails engine for cache-friendly, client-side local time
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Local Time makes it easy to display times and dates to users in their local time. Its Rails helpers render <time> elements in UTC (making them cache friendly), and its JavaScript component immediately converts those elements from UTC to the browser's local time.
Installation
Importmaps
Add gem "local_time" to your Gemfile.
Run bundle install
Run bin/importmap pin local-time to add the local-time npm package
To use a strftime format already defined in your app, pass a symbol as the format.
<%= local_time(date, :long) %>
When using the local_time helper I18n.t("time.formats.#{format}"), I18n.t("date.formats.#{format}"), Time::DATE_FORMATS[format], and Date::DATE_FORMATS[format] will be scanned (in that order) for your format.
When using the local_date helper, I18n.t("date.formats.#{format}"), I18n.t("time.formats.#{format}"), Date::DATE_FORMATS[format], and Time::DATE_FORMATS[format] will be scanned (in that order) for your format.
Note: The included strftime JavaScript implementation is not 100% complete. It supports the following directives: %a %A %b %B %c %d %e %H %I %l %m %M %p %P %S %w %y %Y %Z
Time ago helpers
<%= local_time_ago(time) %>
Displays the relative amount of time passed. With age, the descriptions transition from {quantity of seconds, minutes, or hours} to {date + time} to {date}. The <time> elements are updated every 60 seconds.
Examples (in quotes):
Recent: "a second ago", "32 seconds ago", "an hour ago", "14 hours ago"
Yesterday: "yesterday at 5:22pm"
This week: "Tuesday at 12:48am"
This year: "on Nov 17"
Last year: "on Jan 31, 2012"
Relative time helpers
Preset time and date formats that vary with age. The available types are date, time-ago, time-or-date, and weekday. Like the local_time helper, :type can be passed a string or in an options hash.
[!NOTE]
The "default" keys in the i18n configuration object are used for translations in LocalTime's RelativeTime module. They are not used to determine which format is rendered when none is provided. See https://github.com/basecamp/local_time/issues/128 for details.
24-hour time formatting
Local Time supports 24-hour time formats out of the box.
To use this feature, configure the library to favor data-format24 over data-format attributes:
LocalTime.config.useFormat24 = true
The library will now default to using the data-format24 attribute on <time> elements for formatting.
But it will still fall back to data-format if data-format24 is not provided.
The included Rails helpers will automatically look for 24h variants of named formats.
They will search for #{name}_24h in the same places the regular name is looked up.
This is an example of what your app configuration might look like:
The most recent commit recorded on basecamp/local_time was 2 months ago, based on the GitHub push timestamp. The repository has 125 forks — one of the better signals of community interest.
How many stars does basecamp/local_time have?
basecamp/local_time has 2.0k GitHub stars — refresh the page for the live number, or check github.com/basecamp/local_time. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is basecamp/local_time open source?
Yes — basecamp/local_time ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/basecamp/local_time.
What is basecamp/local_time?
basecamp/local_time (basecamp/local_time) is a JavaScript project on GitHub. From the project's own README: Rails engine for cache-friendly, client-side local time
Where do I read more about basecamp/local_time?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/basecamp/local_time is the definitive source.
Read full README in the tab above.
Curious whether local_time is right for you?
Let ChatGPT, Claude, or Perplexity look into it — click below and see what AI actually says about local_time.