2017-03-06 79 views
-4

我在Arduino上存儲時間值。然而,在10點之前的時間已經領先0,例如, 9.30上午093000.保持前導零位

我知道這存儲的時間作爲八進制值,但我想保留這些作爲小數,因爲我想比較這與其他時間,並能夠添加24小時,通過添加240000在這種格式下,如果時間過去了0.

我已經看到類似問題的解決方案,但解決方案僅幫助打印值,而我希望能夠添加到該值。

+0

爲什麼你需要添加的前導零? (又是什麼讓你相信它沒有被存儲?) – UnholySheep

+2

爲了處理時間,試着檢查'time.h'。前導零僅在*顯示數據時相關 - 這取決於如何格式化輸出,而不是數據 – Toby

+0

前導0對數值沒有影響(除了「C」中八進制表示法的語法'010 == 8')。如果您不打印某個值,您爲什麼關心前導0? – Kevin

回答

0

前導零=八進制只是C源代碼中的一件事。如果你寫

long aTime = 073000; 

你會得到最簡單的解決方法是省略前導零通過073000八進制表示的數目。

long aTime = 73000; 

你只要把它回來時,你格式化爲一個字符串:

printf("%06ld", aTime); 

格式說明%06ld加前導零高達6

字段寬度但實際上你不不想這樣做,你想使用Unix time_t來存儲你的時間,例如

time_t aTime = now(); 

併爲顯示格式,Arduino的has a library獲得各種組件出。