2012-08-29 78 views
1

這裏是我寫的用於在C++中添加hrs,min和sec的實現有沒有一種方法可以通過將所有這些轉換爲秒並執行更簡單的實現來實現此目的? 出於某種原因,它不會讓我在這個崗位:(時間類構造函數

謝謝

+1

編輯您的文章,並嘗試再次添加代碼 – MimiEAM

+0

@代碼的關鍵在於Tony。我有整個工作代碼。我只是想了解有關同一方法的秒實現的想法。 – Kiran

回答

2

有沒有辦法通過將所有這些轉換爲秒並執行更簡單的實現來實現此目的?

無論你走到哪裏,你都會我需要經常更改秒和小時/分鐘/秒之間的時間,所以不一定需要使用其中一個或另一個來存儲。換句話說,自午夜以來的秒數可能更好,但可能不值得重寫。對於像+-之類的東西,如果你沒有存儲幾秒鐘,那麼你可以很容易地計算出它(請參閱馬克的帖子),做你的算術,然後有一個函數,從秒轉換回小時/分/秒,以存儲結果到您的數據成員:

hours = seconds_since_midnight/60/60; 
minutes = seconds_since_midnight/60 % 60; 
seconds = seconds_since_midnight % 60; 

說你要添加120秒,23:59:00,你會得到午夜的值,這樣你就可以用「total_seconds%24 * 60 * 60」得到公正在接下來的午夜過了60秒,相當於從「24:01:00」到00:01:00的包裝。

(如果您確實希望使用這個,而不是僅僅這樣做是爲了教自己,然後考慮使用time()功能和相關的轉換程序一樣localtime()

+0

什麼是「自午夜以來的秒數」? – Kiran

+0

「自午夜以來的秒數」是存儲小時/分鐘和「自分鐘啓動以來的秒數」的替代選擇。兩者都使用秒,所以我說「自午夜以來的秒數」,試圖更加清晰! –

+0

你能舉個例子說明Seconds-since-Midnight嗎?謝謝 – Kiran

3

轉換時,分,秒到幾秒鐘添加代碼是相當簡單:

total_seconds = hours*60*60 + minutes*60 + seconds; 
+0

感謝您的迴應。但是實施如何。它有點讓我感到困惑,將它轉換爲秒,然後添加,然後將所有內容都轉換回hr:min:sec ?! – Kiran