2011-10-17 32 views
0

如何可以解析這個值P5Y2M10DT15H如何分析和轉換XML日期和時間爲秒

,其中y =年M =月d =天數和T =時間H =小時,

每當我得到5我必須乘以3162240(一年中的秒數)+ 2 *一個月內的秒數+ 10 *一天內的秒數+ 10 *一小時內的秒數* 15 *一秒內的秒數

+0

H在閏年的二月有多少秒鐘? - 或者換一種說法 - 你最好重新考慮你的策略,無論你想做什麼。 – pmg

+0

@pmg:我想在編碼的時候檢查那些東西......現在我還沒有在問題中包括這些 – Manny

回答

0

sscanf()可能工作...

int y, m, d, h; 
int seconds; 
char val[] = "P5Y2M10DT15H"; 
if(sscanf(val, "P%dY%dM%dDT%dH", &y, &m, &d, &h) != 4) /* error */; 
seconds = y*3162240 + m*<WHATEVER> + d*24*3600 + h*3600;