It's odd that this hasn't been mentioned directly by anyone, but what you must understand is that $ctime returns the same value for everyone (if you ignore the difference of a couple of minutes due to inaccurate setting of time on each system). It has no choice but being the same for everybody, since, as you correctly thought, it's the number of seconds elapsed from a certain moment. What differs among people in different countries is $asctime($ctime) but only because it is designed to return the current date/time taking into account your timezone. What is different among users is also $gmt (NOT $gmt()), which is designed in a way that, when fed in $asctime(), returns the current time in Greenwich (GMT). So $gmt actually "makes up" for the difference in the $asctime() of each user. $gmt is equivalent to $calc($ctime + $timezone). In short, $asctime(), $gmt and $timezone vary among users, but $ctime doesn't. I hope it's clearer now.