JavaScriptで悩ましいのが時間の扱いではないでしょうか。Webブラウザごとによって異なるタイムゾーン、年月日を表示するのにもばらばらのメソッドを実行するなど面倒な操作が多いと感じます。 そこで使ってみたいのがspacetimeです。JavaScriptにおける日時関連の処理を手軽にしてくれるライブラリです。

spacetimeの使い方

タイムゾーンの切り替えを行う場合です。文字で指定できるので分かりやすいです。

var d = spacetime('March 1 2012', 'America/New_York')
//set the time
d.time('4:20pm')

d.goto('America/Los_Angeles')
d.time()//'1:20pm'

さらに日付の差分も行えます。

spacetime('January 1 2017').since('December 31 2016').diff

フォーマットも用意されています。

// Date + time formatting
s.format('time') // '5:01am'
s.format('numeric-uk') // 02/03/2017
s.format('month') // 'April'
s.format('month-short') // 'Apr'

//also (mostly) supports weird unix-formatting, for more complex templating
s.format('yyyy.MM.dd h:mm a')// '2017.Nov.16 11:34 AM'

spacetimeを使ってタイムゾーンをビジュアル化するデモです。

spacetimeを使えば日時処理周りの面倒ごとが解決できるでしょう。日付を表示する際のフォーマット、何分前といった表示用の差分、さらにWebブラウザごとのタイムゾーン変換などを簡単に実現できます。

spacetimeはJavaScript製のオープンソース・ソフトウェア(Apache Licnese 2.0)です。

spencermountain/spacetime: A lightweight javascript timezone library