I am using an Arduino to prototype a project in which the real time is important. My device has a real time clock and internet access. I have some NTP code I can use to get the current time in GMT and I can apply an offset for the timezone the device is in, so I can set the RTC accurately enough. What I am unclear about is whether summer time applies. How can I know that from within my code?

Only one additional library needs to be installed into your Arduino libraries folder. That is the Time Library available

Just get your timezone set properly and the proper clock time will take care of itself. When I go elsewhere, in another timezone, I just reset the clock timezone, and the rest is handled for me!