BackEnd

Moment Timezoneを使ってJavaScriptで日付を変換する

投稿日:2018年11月8日 更新日:

はじめに

グローバルなアプリケーションだと、地域ごとにその地域にあったタイムゾーンで時間を表示したいケースがあります。実装の方針としては大きく分けて2つあり、バックエンドで日付を変換する方法とフロントエンドで日付を変換する方法です。
今回はセレクトボックスでタイムゾーンを選択するケースを想定し、フロントエンド側で日付を変換する方法としてMoment Timezoneを使った方法を紹介します。

Moment Timezone

Moment Timezone は日付の操作に関する様々な機能を提供するJavaScriptのライブラリです。サマータイムに対応しており、自動的に日付が補正されます。

セットアップ

パッケージマネージャとしてyarnを使い、Railsアプリケーションで使用する前提で説明します。まずは、moment-time-zone-with-dataをインストールします。

次にRails側のロード処理をapplication.jsに追加します。

使用例

それでは、一般的な使い方を説明します。文字列からZone Objectを生成し、表示してみます。

Moment Timezoneの機能

Moment Timezoneの機能をいくつか紹介します。

タイムゾーンの一覧を表示する

Moment Timezoneで変換できるタイムゾーンの一覧は下記のように取得できます。

現在のタイムゾーンを表示する

現在、自分がいる地域のタイムゾーンは下記のように取得できます。

様々なフォーマットからパースする

Moment Timezoneでは様々なフォーマットからパースすることができます。

任意のタイムゾーンで日付を変換する

Zone Objectを別のタイムゾーンへ変換する方法は下記のとおりです。

フォーマットを指定して日付を表示する

Moment Timezoneでは指定したフォーマットで日付を出力することができます。

様々なパラメータを取得する

Zone Objectのパラメータの一部を紹介します。

さいごに

Moment Timezoneを使ってフロントエンドで任意のタイムゾーンに日付を変換する方法を紹介しました。

おすすめ書籍

初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発  Reactビギナーズガイド ―コンポーネントベースのフロントエンド開発入門  Vue.js入門 基礎から実践アプリケーション開発まで  リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

page_footer_300rect




page_footer_300rect




-BackEnd
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

WebアプリケーションにLINEログインを組み込む

1 はじめに2 LINEログインとは2.1 LINEログインでできること2.2 LINEログインのフロー3 LINEログインの設定3.1 プロバイダーを新規作成する3.2 チャネルを作成する3.3 リ ...

rails

関連するモデルのレコードを一緒に作成する方法

1 はじめに1.1 前提条件2 実装2.1 モデルの作成2.2 コントローラの作成2.3 Viewの作成3 さいごに はじめに フォームからレコードを作成する際に、関連するモデルのレコードを一緒に作成 ...

rails

Rails5で出力される「alias_method_chain is deprecated.」について

1 はじめに2 alias_method_chainとは3 Module#prependとは4 とりあえず、DEPRECATION WARNINGの出力をなくしたい5 さいごに はじめに 直近のプロジ ...

[Dialogflow + CF] アクア様が罵倒してくれたり天気を教えてくれるSlackボットを作る

1 はじめに2 Dialogflowの準備2.1 プロジェクトを作る2.2 Intentを作る2.3 試してみる2.4 WELCOME Intentを作る3 Slackボットを作る4 名前を答える5 ...

Rubyを使ってDialogflowのお勉強

1 はじめに1.1 環境2 とりあえずAPIで叩いてみる2.1 テスト用のIntentを作成2.2 Gemの設定3 Eventについて3.1 WELCOMEイベント3.2 パラメータ付きで叩く3.3 ...

フォロー

follow us in feedly

page_side_300rect

2018年11月
« 10月 12月 »
 123
45678910
11121314151617
18192021222324
252627282930 

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。