2016-12-21 2 views
1

私のアプリケーションでは、私はGMTの時間を取得しています、私はそれをローカルに変換したいです。例GMT時刻を現地時刻に変換するにはどうしますか?

var dateTime = "10:18:00"; //this am getting as GMT 
//these below what i want hour and minute separated with locale time zone 
var hour = '15'; 
var minute = '48'; 

については 私はそれがその後、ISTインドであるか、その国の標準時間(ロケール時間)、他の国ならば場合、ローカルすなわちとして、それを変換したいです。これを達成する方法は?

+0

あなたはDateTimeオブジェクトを取得していますか? –

+0

上記の時間が常に「今日」でない限り(およそ真夜中から午前3時までの時間はまったくありません)、DSTとタイムゾーンの変更を適切に処理するための時間とともに日付を取得する必要があります。また、あなたはおそらく、それがどの地方の日付であるかを示す必要があります(多くの場合、タイムゾーンのシフトは異なる日付を意味します)。 – jcaron

答えて

1

localHourは、getTimezoneOffset()/60を使用して取得できます。これはGMT用のDateオブジェクト全体を持っていないので、これを行うのは非常に面倒な方法です。

var dateTime = "10:18:00"; // GMT 
 
var hour = dateTime.split(':')[0]; 
 
var minute = dateTime.split(':')[1]; 
 

 
var date = new Date(); // UTC 
 
var localHour = hour - date.getTimezoneOffset()/60; 
 
var localMinute = (localHour%1) * 60; 
 

 
localHour = Math.floor(localHour); 
 
localMinute += parseInt(minute); 
 
if (localMinute >= 60) { 
 
    localHour += Math.floor(localMinute/60); 
 
    localMinute %= 60; 
 
} 
 

 
localHour %= 24; 
 

 
console.log('local hour:', localHour); 
 
console.log('local minute:', localMinute);

+0

私の質問の詳細を編集しました。plzを確認して回答できます.... – Kishan

+0

あなたのユースケースでこれをチェックできますか? –

+0

それは私のために働いてくれてありがとう – Kishan

関連する問題