Forse non hai letto la guida bene.
mktime() ti restituisce lo unixtimestamp, infatti il numero che tu reputi "improponibile" è appunto il numero di secondi dal 1 gennaio 1970 alla data che gli si passa come parametro.

date() invece ti restituisce la data formattata come vuoi e accetta 2 parametri, il primo si riferisce alla formattazione, il secondo (opzionale) si riferisce allo unixtimestamp di riferimento, se non passato viene preso lo unixtimestamp attuale