Well, mktime(5,0,0,5,5,2002) is
05:00am, 5 May 2002. How would you specify 0 otherwise?
If you want GMT, use gmmktime. Otherwise your system's timezone is used.
But there is something wrong: mktime(5,0,0,5,5,2002) shouldn't be returning 1020596422 - that's 11:00:22am, 5 May 2002. Where's the twenty-two seconds coming from?