📅  最后修改于: 2023-12-03 15:15:53.571000             🧑  作者: Mango
When working with dates and times, it's important to understand time zones and how to convert between them. One such conversion is from Indian Standard Time (IST) to Greenwich Mean Time (GMT).
In JavaScript, we can perform this conversion using the built-in Date()
object and its methods. Here's an example implementation:
function convertISTtoGMT(dateString) {
// create a new Date object with the input date string and set its time zone to IST
let istDate = new Date(dateString + 'T00:00:00+05:30');
// get the UTC time equivalent of the IST date and time
let gmtTime = istDate.getTime() - (istDate.getTimezoneOffset() * 60 * 1000);
// create a new Date object with the GMT time equivalent
let gmtDate = new Date(gmtTime);
// format the GMT date as a string and return it
return gmtDate.toISOString().split('T')[0];
}
Let's break down what's happening in this code:
Date()
object with the input date string and append the time zone offset for IST (+05:30
) to it. This sets the time zone of the object to IST.let istDate = new Date(dateString + 'T00:00:00+05:30');
let gmtTime = istDate.getTime() - (istDate.getTimezoneOffset() * 60 * 1000);
Date()
constructor again to create a new date object with the GMT time equivalent.let gmtDate = new Date(gmtTime);
YYYY-MM-DD
format and return it.return gmtDate.toISOString().split('T')[0];
To use this function, simply call it with an input date string in the YYYY-MM-DD
format:
let gmtDate = convertISTtoGMT('2021-06-01');
console.log(gmtDate);
// outputs: '2021-05-31'
Note that the output will be in the YYYY-MM-DD
date format and may be one day behind depending on the time difference between IST and GMT.
Converting from IST to GMT in JavaScript is straightforward with the built-in Date()
object and its methods. By understanding time zones and how to convert between them, we can ensure that our date and time calculations are accurate and reliable.