How does Linux handle DST ( daylight saving time)?

Hello

Can sombody please tell me how linux handles DST ( daylight saving time) ?
Does the time change instantly , ex: if is is 3'o clock does linux instantly swich to 2'o clock ?

plese give more info about this toppic

No. Linux uses epoch time - the number of seconds since Jan 1, 1970. Look at the very top right of the pages here on UNIX.com. Look for UNIX time. Currently it is 1413986703 seconds.

There is something called the C runtime library - all of the commands in UNIX use that library. Because people use differing locale settings (alphabetic characters, names for months, different ways od doing daylight savings times etc.) the guys who put this together decided to use some library calls to change the UNIX epoch seconds into human readable time, including changes from standard to daylight time.

ctime() and strftime() are part of that library. The date command uses the library and provides a command line interface for times and dates.

So if you are in a country with no daylight/standard time change, then date knows about it through your locale and timezone settings.
Type

echo "TZ is $TZ, locale is `locale`"

at the command line to see your settings.

Not always -- it can be globally set with a file, too, /etc/localtime, which you copy from a selection in /usr/share/localtime. I copied /usr/share/zoneinfo/Canada/Saskatchewan for instance. This gives my system a timezone without having a value set for TZ.

TZ is often used to override the global setting to operate in multiple regions... and sometimes for crude date math (subtracting a number of hours), etc.