If you do not specify the msValue parameter, the value returned
from the getMilliseconds() method is
used.
If a parameter you specify is outside of the expected range, setSeconds()
attempts to update the date information in the Date object accordingly.
For example, if you use 100 for secondsValue, the minutes stored
in the Date object will be incremented by 1, and 40 will be used for
seconds.
Because setSeconds() operates on the local time, crossing a Daylight Saving Time (DST) boundary may result in a different elapsed time than expected. For example, if setting the seconds crosses a spring-forward transition (losing an hour), the difference in timestamps between the new and old date is one hour less than the nominal time difference. Conversely, crossing a fall-back transition (gaining an hour) result in an extra hour. If you need to adjust the date by a fixed amount of time, consider using setUTCSeconds() or setTime().
If the new local time falls within an offset transition, the exact time is derived using the same behavior as Temporal's disambiguation: "compatible" option. That is, if the local time corresponds to two instants, the earlier one is chosen; if the local time does not exist (there is a gap), we go forward by the gap duration.