My machine is set on British Summer Time (BST) which is UCT/GMT +1. Current time is 20:15:49BST.


//echo -a $gmt(yyyy-mm-dd HH:nn:ss)
2006-04-17 19:15:49

This is correct. It gives UCT time (I'm assuming this is the point of $gmt).

//echo -a $asctime($gmt,yyyy-mm-dd HH:nn:ss)
2006-04-17 20:15:49

This is /incorrect/. I'm told $asctime applies DST settings, either local ones regardless of timezone or it asks Windows. But it should not be applied in this case.

GMT does not get daylight saved. Britain switches to BST. GMT=UCT=+0000, at all times of the year. The examples above should yield the same output.