Search code examples
javascriptnode.jsdatenode-oracledb

getDate() giving wrong date due to Daylight saving timezone


I am struggling in formatting js date in a proper format and not sure if I'm doing this right. So here's my case:

I import data strongly dependent on hours included in objects. Sometimes I received date with GMT +1 format and sometimes with GMT +2. I have figured out it depends on daylight saving date format.

But the problem is now, when I try to work on this data and I look for object from december, function getDate() would return me the day before (as hours would be 23:00 GMT +1 NOT 00:00 GMT +2)

I am working on client's oracle database and use it in nodejs server supported by oracledb npm package.

I was wondering if there is any nice / smooth way of unifying these date format to the same one? Like to receive all dates only in one of GMT +1/+2 format?

Thanks for any advice


Solution

  • What you'd like to do here is adjust the time according to getTimezoneOffset() and then store it.

    MDN

    The time-zone offset is the difference, in minutes, from local time to UTC.

    var d = new Date();
    console.log(d)//Time before adjusting the timezone
    d.setMinutes(d.getTimezoneOffset());
    console.log(d) //time adjusted to UTC