JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで現在の時刻を別のタイムゾーンの時刻に変更して表示する方法

JavaScriptのDateオブジェクトは、端末(システム)に設定されている時刻をそのまま取得して現在の日付・時刻を表示します。そのため、JavaScript単体でシステム時刻そのものを書き換えることはできません。

しかし、UTC(協定世界時)との時差であるタイムゾーンオフセットを計算に組み込むことで、あたかも別の時刻が設定されたかのように表示することが可能です。以下では、シンガポール(GMT+8)の時刻を求めるサンプルコードを紹介します。

サンプルコード

<!DOCTYPE html>
<html>
   <body>
      <script>
         var date, offset, nd;
         date = new Date();

         document.write("Current: "+date);
         utc = date.getTime() + (date.getTimezoneOffset() * 60000);

         // シンガポールはGMT+8
         offset = 8;

         nd = new Date(utc + (3600000*offset));
         document.write("<br>Singapore Time: "+nd.toLocaleString());
      </script>
   </body>
</html>

コードのポイント

  • getTimezoneOffset():ローカル時刻とUTCの差分を「分」単位で返します。
  • この値に 60000 を掛けることでミリ秒に変換し、正確なUTC時刻を算出できます。
  • 目的の地域の時差(時間)に 3600000 を掛けた値を加算し、新しいDateオブジェクトを生成することで、指定したタイムゾーンの時刻が得られます。

実行結果

JavaScriptで現在の時刻を別のタイムゾーンの時刻に変更して表示する方法

  1. JavaScriptで日付の「日」を設定する方法|setDate()の使い方を解説

    JavaScriptでは、DateオブジェクトのsetDate()メソッドを使うことで、日付の「日」(1〜31)を設定・変更できます。この記事では、実際のコード例と実行結果をもとに、setDate()の基本的な使い方をわかりやすく解説します。 setDate()メソッドとは setDate()は、Dateオブジェクトの「日」の値だけを変更するためのメソッドです。年や月はそのままに、日にちだけを差し替えたい場合に便利です。引数には1〜31の整数を指定しますが、範囲外の値を渡してもエラーにはならず、自動的に月をまたいだ日付へと調整されます。また、このメソッドは元のDateオブジェクト自体を書き換え

  2. C++で現在の日付と時刻を取得する方法

    C++で現在の日付と時刻を取得するには、標準ライブラリの<ctime>ヘッダーに含まれる関数を利用します。ここでは、time()関数とctime()関数を使って、ローカルの現在日時を取得・表示する基本的な方法を紹介します。サンプルコード#include <iostream> using namespace std; int main() { time_t now = time(0); char *date = ctime(&now); cout << The local date and time : << d