perl -e 'use POSIX; $ENV{'TZ'} = "GMT"; for ($clock = 2147483641; $clock < 2147483651; $clock++) {print ctime($clock); }'
Yukarıdaki komutu MS Windows üzerinde Linux uygulamalarını çalıştırmak ve derlemek için kullandığım Cygwin ve bir Debian GNU/Linux sistemlerde denediğimde aşağıdaki çıktıyı elde ediyorum:
Tue Jan 19 03:14:01 2038 Tue Jan 19 03:14:02 2038 Tue Jan 19 03:14:03 2038 Tue Jan 19 03:14:04 2038 Tue Jan 19 03:14:05 2038 Tue Jan 19 03:14:06 2038 Tue Jan 19 03:14:07 2038 Fri Dec 13 20:45:52 1901 Fri Dec 13 20:45:52 1901 Fri Dec 13 20:45:52 1901
MS Windows için derlenmiş Perl'i kullanarak Windows 2000 Server komut satırında şu şekilde denediğimde ise:
perl -e "use POSIX; $ENV{'TZ'} = 'GMT'; for ($clock = 2147483641; $clock < 2147483651; $clock++) {print ctime($clock); }"
Şöyle bir çıktı elde ediyorum:
Tue Jan 19 05:14:01 2038 Tue Jan 19 05:14:02 2038 Tue Jan 19 05:14:03 2038 Tue Jan 19 05:14:04 2038 Tue Jan 19 05:14:05 2038 Tue Jan 19 05:14:06 2038 Tue Jan 19 05:14:07 2038Görülen o ki 2038 yılı ile ilgili sorun devam ediyor. Uygulamaların bir kısmının 64 bitlik bir time_t kullanarak derlendiğinde sorunun bir kısmının giderilebileceği düşünülürse de 32 bit kullanarak tarih depolayan veritabanı sistemlerine dikkat etmekte fayda var!
import sys, time
print "n".join([time.ctime(f) for f in range(2147483641,2147483651)])