I would also like to report a pseudo-bug in $asctime() in that it will not support negative UNIXTIME values.
None of the CRT time functions support negative values. Actually, that's not entirely true. They will apply timezone/dst adjustments to the value provided, so can handle negative values up to a certain point. However, the results will be wrong. In addition, the CRT time functions crash (or at least, they used to) if provided with an invalid range, so applications have to detect that.