time.h provides tm structs with the tm_isdst flag. Use time to get the current time, localtime to get the tm structure with the time adjusted to the current language, and read the tm_isdst flag.
From the man page:
tm_isdst A flag that indicates whether daylight saving time is in effect at the time described. The value is positive if daylight saving time is in effect, zero if it is not, and negative if the information is not available.
source share