2010-04-26 24 views
1

我正在使用glibs函數將曆元時間轉換爲字符串,如下所示。
但每次它給我一些隨機時間。Glib將曆元時間轉換爲字符串

//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); 

爲什麼會發生這種情況?我錯過了什麼?

謝謝,
PP。

UPDATE:

如所述我試圖與setlocale(LC_ALL, "");以下爲輸出,
它是相同的我使用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] 

回答

1

你可能想打電話setlocale()第一 「LC_ALL」 should do itPOSIX也應該工作,不確定關於C

g_date_strftime()受語言環境設置的影響。它也很好地存儲g_date_strftime()的結果,或其他填充靜態緩衝區的結果。您需要知道實際打印到緩衝區的字節數。

+0

感謝您的回覆, 請通過問題的更新部分。 – User7723337 2010-04-26 11:24:58

相關問題