2010-04-26 5 views
1

J'utilise les fonctions de glibs pour convertir le temps de l'époque en chaîne comme suit.
Mais chaque fois, cela me donne un peu de temps.Glib convertir le temps de l'époque en chaîne

//Convert Time in string. 
GDate *date = g_date_new_julian(timestampsecs); 
gchar date_string[50]; 
g_date_strftime(date_string, 50, (const gchar*)"%a, %I:%M %p", (const GDate*)date); 
printf("Date String [%s]\n", date_string); 

Pourquoi cela est-il possible? est-ce que je manque quelque chose?

Merci,
PP.

MISE À JOUR:

Comme je l'ai essayé avec dit setlocale(LC_ALL, ""); suivante est la sortie,
Il est le même que je recevais avant d'utiliser setlocale.

(MyTestApp:7747): GLib-WARNING **: 
OOPS julian: 1272279703 computed dmy: 66 4293563716 187 
Date String Tik_INDEX[1] [1272279703] --> [Tue, 12:00 AM] 

(MyTestApp:7747): GLib-WARNING **: 
OOPS julian: 1272279717 computed dmy: 80 4293563716 187 
Date String Tik_INDEX[2] [1272279717] --> [Tue, 12:00 AM] 

(MyTestApp:7747): GLib-WARNING **: 
OOPS julian: 1272279720 computed dmy: 53 4293563717 187 
Date String Tik_INDEX[3] [1272279720] --> [Fri, 12:00 AM] 

(MyTestApp:7747): GLib-WARNING **: 
OOPS julian: 1272279721 computed dmy: 54 4293563717 187 
Date String Tik_INDEX[4] [1272279721] --> [Sat, 12:00 AM] 

(MyTestApp:7747): GLib-WARNING **: 
OOPS julian: 1272279721 computed dmy: 54 4293563717 187 
Date String Tik_INDEX[5] [1272279721] --> [Sat, 12:00 AM] 

(MyTestApp:7747): GLib-WARNING **: 
OOPS julian: 1272279722 computed dmy: 55 4293563717 187 
Date String Tik_INDEX[6] [1272279722] --> [Sun, 12:00 AM] 

(MyTestApp:7747): GLib-WARNING **: 
OOPS julian: 1272279723 computed dmy: 56 4293563717 187 
Date String Tik_INDEX[7] [1272279723] --> [Mon, 12:00 AM] 

(MyTestApp:7747): GLib-WARNING **: 
OOPS julian: 1272279724 computed dmy: 57 4293563717 187 
Date String Tik_INDEX[8] [1272279724] --> [Tue, 12:00 AM] 

Répondre

1

Vous voulez probablement appeler setlocale() d'abord, "LC_ALL" should do it. POSIX devrait également fonctionner, pas sûr de C.

g_date_strftime() est influencé par les paramètres régionaux. Il est également bon de stocker le résultat de g_date_strftime(), ou toute autre chose qui remplit un tampon statique. Vous voudrez savoir combien d'octets ont été réellement imprimés dans le tampon.

+0

Merci de votre réponse, Veuillez passer à la partie mise à jour de la question. – User7723337