The problem here is that Windows assumes the hardware clock is on "local" time, which is completely inappropriate for a cloud server, because the "local" time you want may not be local to the underlying physical host. And other virtual servers may want many different "local" times.
Linux, on the other hand, assumes that the hardware clock presents UTC, and then makes the appropriate translation to local time. And that's what our host machines present.
I think the fix is to set Windows to use the system clock correctly, and there's a fix described at