avevi detto di avere un errore in compilazione, per questo chiedevo.
Lasciando perdere per un momento il singleton, l'allocazione delle risorse è una questione non da poco.
Una prima valutazione sulla convenienza o meno del tuo metodo la fai andando a vedere "statisticamente" quanto è chiamata la funzione.
Se statisticamente è chiamata spesso, il singleton avrebbe senso, altrimenti il gioco non vale la candela.

Come fai a fare il tutto. Tieni conto che quello che secondo me puoi avere come variabile è il formatter: il formato è sempre quello (a meno che tu non voglia renderlo dinamico), il GregorianCalendar, perdonami ma a che ti serve?

Per fare quello che ti serve puoi:

1. creare formatter nel tuo oggetto singleton (crearlo al primo avvio)
2. metodo getData, che sfrutta il formatter già istanziato (non ne deve creare uno nuovo ogni volta) e formatta la data attuale.

A tutto questo puoi anche non creare un singleton (non vedo a cosa serve) perché tu fai sempre e solo questo

codice:
					SimpleDateFormat forma = new SimpleDateFormat("Stringa di formattazione data"); 
					String out = forma.format(new Long(System.currentTimeMillis()));
quindi nella classe in cui lo usi crea (nel costruttore) il formatter e ogni volta che lo usi la chiamata è unica.