ciao.

intanto un paio di precisazioni:

1) gmstrftime ti da l'ora di Greenwich e non il fuso orario italiano.
dovresti usare strftime per l'ora locale.

2) %j ti da' il numero del giorno nell'anno.

Dovresti usare %e per il numero del giorno senza lo zero davanti, lascera' comunque uno spazio. Invece %d per 01 - 31.

Ma ... attenzione che se stai usando windows potrebbe anche non funzionare qualcosa. I parametri possono essere leggermente diversi... leggi le info presso microsoft su setlocale.

per esempio, sul mio pc la stringa %e non da risultato, ma neppure errore, semplicemente il dato in bianco.