回答
試試這個
NSTimeInterval time = <timein ms>;
NSInteger days = time/(24 * 60 * 60);
NSInteger hours = (time/(60 * 60)) - (24 * days);
NSInteger minutes =(time/60) - (24 * 60 * days) - (hours * 60);
NSInteger seconds = (lroundf(time) % 60);
Do not你的意思是'時間=
對不起抱歉我已經更新了代碼 – techloverr
我看不到代碼是如何工作的。爲什麼 - (24 *天);'? 24天的意義是什麼? – trojanfoe
如果你不想自己做計算,你可以去這樣的解決方案。
但是,我知道這是一個有點昂貴的解決方案,因此您需要了解運行時潛在的性能問題 - 具體取決於您打算如何調用此方法。
NSTimeInterval _timeInSeconds = 123456789.123; // or any other interval...;
NSCalendar *_calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
NSCalendarUnit _units = NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
NSDateComponents *_components = [_calendar components:_units fromDate:[NSDate date] toDate:[NSDate dateWithTimeIntervalSinceNow:_timeInSeconds] options:kNilOptions];
NSLog(@"%ld Days, %ld Hours, %ld Minutes, %ld Seconds", _components.day, _components.hour, _components.minute, _components.second);
您可以編寫自己的功能是這樣的:
import UIKit
let miliseconds: Int = 24 * 3600 * 1000 + 3700 * 1000
// 1 day and 1 hour 1 minute 40 seconds
func convertTime(miliseconds: Int) -> String {
var seconds: Int = 0
var minutes: Int = 0
var hours: Int = 0
var days: Int = 0
var secondsTemp: Int = 0
var minutesTemp: Int = 0
var hoursTemp: Int = 0
if miliseconds < 1000 {
return ""
} else if miliseconds < 1000 * 60 {
seconds = miliseconds/1000
return "\(seconds) seconds"
} else if miliseconds < 1000 * 60 * 60 {
secondsTemp = miliseconds/1000
minutes = secondsTemp/60
seconds = (miliseconds - minutes * 60 * 1000)/1000
return "\(minutes) minutes, \(seconds) seconds"
} else if miliseconds < 1000 * 60 * 60 * 24 {
minutesTemp = miliseconds/1000/60
hours = minutesTemp/60
minutes = (miliseconds - hours * 60 * 60 * 1000)/1000/60
seconds = (miliseconds - hours * 60 * 60 * 1000 - minutes * 60 * 1000)/1000
return "\(hours) hours, \(minutes) minutes, \(seconds) seconds"
} else {
hoursTemp = miliseconds/1000/60/60
days = hoursTemp/24
hours = (miliseconds - days * 24 * 60 * 60 * 1000)/1000/60/60
minutes = (miliseconds - days * 24 * 60 * 60 * 1000 - hours * 60 * 60 * 1000)/1000/60
seconds = (miliseconds - days * 24 * 60 * 60 * 1000 - hours * 60 * 60 * 1000 - minutes * 60 * 1000)/1000
return "\(days) days, \(hours) hours, \(minutes) minutes, \(seconds) seconds"
}
}
convertTime(miliseconds)
//result is "1 days, 1 hours, 1 minutes, 40 seconds"
我寫易代碼來做到這一點在這兩個Objective-C和斯威夫特:
斯威夫特
var milliseconds : double_t = 568569600;
milliseconds = floor(milliseconds/1000);
let seconds : double_t = fmod(milliseconds, 60);
let minutes : double_t = fmod((milliseconds/60) , 60);
let hours : double_t = fmod((milliseconds/(60*60)), 60);
let days : double_t = fmod(milliseconds/((60*60)*24), 24);
NSLog("seconds : %.f minutes : %.f hours : %.f days : %.f", seconds, minutes, hours, days);
輸出 - 秒:9分:56小時:38天數:7
目的
double milliseconds = 568569600;
milliseconds = milliseconds/1000;
float seconds = fmod(milliseconds, 60);
float minutes = fmod((milliseconds/60) , 60);
float hours = fmod((milliseconds/(60*60)), 60);
float days = fmod(milliseconds/((60*60)*24), 24);
NSLog(@"seconds : %.f minutes : %.f hours : %.f days : %.f ", seconds, minutes, hours, days);
輸出 - 秒:10分鐘:56小時:38天數:7
- 1. 將毫秒轉換爲日期和日期爲毫秒
- 2. 將時間轉換爲秒+毫秒秒
- 3. 在毫秒中將毫秒轉換爲日期時間
- 4. 將毫秒轉換爲毫秒
- 5. Haskell:將UTCTime轉換爲秒和毫秒
- 6. 將毫秒轉換爲日期/時間
- 7. 轉換日期和時間爲毫秒
- 8. 將毫秒轉換爲天,小時,分和秒
- 9. 將毫秒轉換爲小時,分鐘和秒python
- 10. 將毫秒轉換爲小時,分和秒
- 11. 分鐘,秒轉換爲毫秒
- 12. 如何將秒錶刻度轉換爲納秒,毫秒和秒?
- 13. 將毫秒數值轉換爲日期?
- 14. 將日期轉換爲毫秒
- 15. php:將毫秒轉換爲日期
- 16. 將UTC日期轉換爲毫秒
- 17. 將DateTime轉換爲毫秒
- 18. 將jiffies轉換爲毫秒
- 19. 將毫秒轉換爲time_t
- 20. 將Ecto.DateTime轉換爲毫秒
- 21. iOS將毫秒轉換爲日期返回錯誤時間
- 22. 轉換時間爲毫秒?
- 23. 如何在毫秒中將時間戳轉換爲毫秒
- 24. 將毫秒轉換爲分鐘
- 25. 將分鐘轉換爲毫秒Java/android
- 26. Mp3將分鐘轉換爲毫秒
- 27. 將毫秒轉換爲時間
- 28. 將毫秒轉換爲時間碼
- 29. SQL將時間轉換爲毫秒
- 30. 將時間變量轉換爲毫秒
請之前搜索張貼。 – trojanfoe
請檢查我的答案。 – Khuong
讓totalSeconds:雙=雙(totalSeconds) 讓天= INT(地板(totalSeconds /(60 * 60 * 24))) VAR remainingSeconds = totalSeconds%(60 * 60 * 24) 讓小時= INT (地板(remainingSeconds /(60 * 60))) remainingSeconds = remainingSeconds%(60 * 60) 讓分鐘= INT(地板(remainingSeconds /(60))) remainingSeconds = remainingSeconds%(60) 讓秒= Int(floor(remainingSeconds)) print(「seconds:\(seconds)minutes:\(minutes)hours:\(hours)days:\(days)」) –