โ10-13-2018 10:50 PM
Hi All,
I am using Date.UTC() method to generate last month date & using below syntax which seems to be fine.
Date.UTC(Date.now().minusMonths(1).getFullYear(),Date.now().minusMonths(1).getMonth(),0)
And output preview is also fine.
But while I am inserting data into Orcale DB, 1 day is getting subtracted from the date.
Not able to figure out where is the issue. Tried by changing date data type to varchar2 at DB levelโฆbut the value remain same.
Solved! Go to Solution.
โ10-18-2018 12:04 PM
@virender.prajapati I have seen this happening to me in MySQL. I used toLocalDateTimeString() function before inserting it into the DB and worked fine.
You can try this in your mapper,
Date.UTC(Date.now().minusMonths(1).getFullYear(),Date.now().minusMonths(1).getMonth(),0).toLocaleDateTimeString({โformatโ: โyyyy-MM-dd HH:mm:ssโ,โtimeZoneโ:โUTCโ})
You can also look into oracle jdbc url properties
โ10-15-2018 12:42 PM
Looks like there is some timezone conversion being applied. The time in the preview is โ00:00:00โ, while the time in the other screenshot is โ20:00:00โ. Is the value being converted at some other point in the pipeline or oracle?
โ10-16-2018 12:02 AM
In pipeline data value remain same before the oracle insert snap, value is getting changed in Oracle DB.
But ideally it should insert value passed by pipeline only. Seems like in Oracle insert Snapโฆoracle timestamp is used which is generating this kind of problem.
โ10-18-2018 12:04 PM
@virender.prajapati I have seen this happening to me in MySQL. I used toLocalDateTimeString() function before inserting it into the DB and worked fine.
You can try this in your mapper,
Date.UTC(Date.now().minusMonths(1).getFullYear(),Date.now().minusMonths(1).getMonth(),0).toLocaleDateTimeString({โformatโ: โyyyy-MM-dd HH:mm:ssโ,โtimeZoneโ:โUTCโ})
You can also look into oracle jdbc url properties
โ10-18-2018 02:46 PM
@virender.prajapati Can I ask if the snaplex nodes or OracleDB have a timezone set to something other than UTC?