Question:
I am given a unix timestamp like this:1655402413
and am needing to find find the midnight of the Monday (in UTC/GMT format) of the same week, regardless of what day it is or what time zone. I then need to represent that Monday as a unix timestamp and return it. The function I have is as follows:- If given a timestamp that evaluates to midnight on a Monday in UTC/GMT format, depending on the time zone of the user, it returns the Monday of the previous week (because
startDate
evaluates to the Sunday before the Monday), which is not good. - The
monday
that is returned is in local time, not UTC/GMT time.
This is driving me absolutely insane. Working with dates in JavaScript is a nightmare, and I would appreciate any direction you can give me.
Answer:
Multiply the unix timestamp by 1000, and use the UTC methods likegetUTCDate
instead of getDate
, setUTCHours
instead of setHours
etc..Of course to return as unix time, just divide by 1000.
eg.
If you have better answer, please add a comment about this, thank you!