2014-03-07 52 views
2

我需要時間戳按以下格式,其中包括時區UTC的偏移量:C/C++入門時間戳和時區偏移信息

2014-03-07T10:03:50+ 02:00

我想這種做法,但得到它作爲UTC不正確格式化的時區信息:

time_t now; 
time(&now); 
char ts[sizeof "1970-01-01T00:00:00+00:00"]; 
strftime(ts, sizeof ts, "%FT%T%z", gmtime(&now)); 
printf("Timestamp: %s\n\n", ts); 

這是結果:

2014-03-07T09:29:40 + 0200

+0

你有沒有試過localtime而不是gmtime? – Myforwik

+0

@Myforwik'localtime'是當地時間,如果他住在不同的時區怎麼辦? – 2014-03-07 09:40:45

+0

是的,我嘗試了兩種,我試圖得到時區偏移小時和分鐘之間的冒號喜歡02:00而不是0200 –

回答

1

Man 7 strftime根據格式規範格式格式化時間tm。和格式%z之一輸出由默認爲hhmm數字時區而不小時和分鐘之間結腸:

%z:本+hhmm-hhmm數字時區(即,小時和分鐘從UTC偏移)。 (SU)