Domanda

Cosa C funzione dovrei chiamare per ottenere una data formattato e il tempo per il locale in cui è in esecuzione il programma?

sto chiedendo questa domanda, perché ho incontrato un problema utilizzando l'API ClamAV daemon. Il comando VERSION restituisce la data e l'ora delle ultime definizioni dei virus, ma il codice utilizza una chiamata a ctime formattarlo. Per quanto posso dire ctime non formattare il datetime in base alla localizzazione corrente e utilizza l'abbreviazioni inglesi per i giorni della settimana e del mese nella stringa restituita. Questo fa sì che i problemi come il mio programma Java che utilizza l'API ClamAV fa rispettano l'ambiente corrente e si aspetta quindi il giorno della settimana e del mese nome di avere le abbreviazioni locali.

Il formato datetime avrebbe bisogno di essere nello stesso formato come quello prodotto da ctime :

  

Www MMM GG hh: mm: ss aaaa

     

Dove WWW è il giorno della settimana, Mmm il mese in lettere, dd il giorno del mese, hh: mm:. Ss il tempo, e yyyy l'anno

ho potuto riscrivere il programma Java per assumere sempre date inglesi ma sarei più felice di presentare una patch per ClamAV come sembra come un insetto dalla loro parte per me.

È stato utile?

Soluzione

strftime("%c", ... dovrebbe darvi la data preferita e la rappresentazione tempo per il locale corrente. O (ancora con strftime) è possibile emulare il formato di ctime ma con %b per la corrente-locale mesi sigla, un'abbreviazione per %a corrente locale nei giorni feriali, e così via.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top