@winni
The two systems are set-up as much as possible the same way. timedatectl command in Linux gives exactly the same result for all the values. Also ls -l /etc/localtime gives the same and correct timezone on both machines. It is true that some time back I changed timezones on the "bad" machine, but at the moment I do not see any difference. Where can I check if my Linux really thinks in a "Windows way" and how can I change it?
If it is so, shouldn't the bad machine give back the UTC as the local time? It is not the case. The local time is UTC + 0200, while the misbehaving machine gives UTC + 0300. Furthermore it is not even the non-DST, as that would be UTC + 0100.
I do not understand what you mean with NowUTC. As I wrote, I know it and use it, and that gives a correct time on both machines. I need both Now and NowUTC as the easiest way to know the offset (Now-NowUTC).
I still do not see how Now() can give something else than the local time.
@MarkMLI
I do not think it is a number format, bitlength error. It gives the correct minute/second just one hour wrong.
@winni (2)
Thanks, but the calculation is correct. It is simply Now() being wrong.
Where can you see that your system is one hour away? I can have the same problem, but as said above, I do not see anything wrong.