在我的应用程序中,我正在获取GMT时间,我想将其转换为Local。 例如
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 :(得分: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);