First: there is no Daylight saving time in Winter in Europe, so your question is probably not about DST, but the difference between local time and UTC.
Many Linux distributions will store the time in the system's builtin Real Time Clock (RTC) at the halt/reboot phase and read it at boot.
Below, 1. is probably not used anymore, so if not sure try 2. first.
Usually this was done with the
hwclock command. This command on first usage, will create the file
/etc/adjtime and among other values, store an information: if the RTC is to be considered as UTC or local time. UTC is probably the default, since it has always been the time Unix cares about, keeping UTC internally, computing localtime from UTC when needed. Now since at least historically Windows was using local time, it stores local time on the RTC. So if the wrong default for your use case (dual boot) was chosen, you could have altered it with (after correcting time):
hwclock --systohc --localtime
/etc/adjtime is used anyway (clock drift correction...), it's best to delete this file before having changed the time and using this command (which will recreate it).
systemd attempting to cover all bases,
systemd also provides tools for setting time. So the modern equivalent which also uses
/etc/adjtime should be instead:
timedatectl --adjust-system-clock set-local-rtc 1
This will re-read the RTC but consider it to be local time and also save the setting.
All this doesn't prevent you to use
ntpdate (one shot sync) and
openntpd ...) to synchronise time with precise sources.