我是一個新的目標C,我正在開發一個應用程序來確定用戶給出年份和天數時的出生日期。例如,如果用戶將1985年作爲他/她的出生年,並且天數爲311.他/這裏的出生日期是1985年11月6日。那麼如何從1985年的311年11月6日?請幫助如何在Objective C中獲取月份和日期?
回答
您應該永不必須計算當前年份是否爲閏年。永遠不會。讓框架爲你做。人們比我們更聰明,或者我已經爲我們做了這些事情,那麼爲什麼我們會用重新發明這種車輪的次優算法來解決所有錯綜複雜的日曆變化呢?
這是愚蠢自己做這個。所以,不要:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *startComponents = [[NSDateComponents alloc] init];
[startComponents setYear:1985];
[startComponents setDay:311];
NSDate *date = [gregorian dateFromComponents:startComponents];
NSLog(@"endDate: %@", date);
此日誌:
endDate: 1985-11-07 08:00:00 +0000
這就解決了我的問題,非常感謝 –
首先,爲什麼你從某人獲得天數而不是獲取月和日。用戶不知道他們出生的那一年是哪一天,並且會試圖弄清楚它們會感到沮喪。
要回答你的問題,你可以有一個數組來存儲每個月末的天數{31,28,31,30,...}並將其用作參考(將總數減去一個循環)。您還需要檢查年度是閏年,如果超過59年,請從總數中減去一個。
-1這是錯誤的。你應該使用內置的API來做到這一點。 –
在斯里蘭卡國家身份證號碼是這樣的 - 853110035.所以第一個數字是出生年份,接下來的三位數字是從1月1日生日的天數。 –
這沒有錯。爲什麼需要API調用?對於像這樣簡單的事情他們很沉重。他們必須處理更多的東西才能得出相同的答案。 – RileyE
您不需要任何Objective-C特定的東西...首先您需要知道if the year is a leap year。然後你需要計算幾個月的日子,直到你結束目標日。
-1不,這是錯誤的。你應該使用內置的API來做到這一點。 –
正如@Dave DeLong所指出的:你應該使用內置的API –
像這樣(未測試):
NSDateFormatter *df = [[NSDateFormatter alloc] init] autorelease];
[df setDateFormat:@"yyyy"];
NSDate *date1 = [df dateWithString:@"1985"];
NSDate *date2 = [df dateByAddingTimeInterval:60*60*24*311]; //
-1不是每天都有86,400秒 –
- 1. 如何從日期查詢中獲取日期和月份?
- 2. 獲取系統日期和分割日期,月份和年份
- 3. 帶月份名稱的日期Objective-C
- 4. 日曆 - 獲取月份和月份的日期
- 5. 使用Jquery獲取日期和月份
- 6. 在sql中獲取日期和月份的日期順序
- 7. 如何在android中獲取月份和日期?
- 8. 獲取開始日期和月份
- 9. 從日期獲取月份的日期
- 10. 如何在jQuery UI datepicker中獲取日期,月份,年份?
- 11. 從TimeStamp獲取月份和日期
- 12. JAVA如何取日期並查看日期,月份和年份?
- 13. 從特定日期獲取日期,月份和年份
- 14. 從給定日期獲取月份,日期和年份
- 15. 如何獲取月份的月份發生日期
- 16. 如何從DatePickerDialog獲取日期,月份和年份?
- 17. 如何獲取目標c中當前月份的日期?
- 18. 如何在Javascript中獲取月份的開始日期和結束日期?
- 19. 分別在HTML中獲取日期,月份和年份
- 20. 在vbscript中獲取月份和年份日期格式
- 21. 添加年份,月份和日期C
- 22. Mysql在日期和月份列之間獲取日期劃分
- 23. 如何檢查數據庫表中日期和月份的日期和月份
- 24. 在Android中獲取日期月份值的日期對象?
- 25. 從SQL日期中獲取月份和年份
- 26. LINQ如何按日期分組日期和月份和年份
- 27. 如何在MSSQL中獲取月份日期數據?
- 28. 如何在DB2中獲取月份的初始日期
- 29. 如何在django查詢集中獲取日期的月份
- 30. 如何在SQL中獲取月份的日期
你的教授應該解釋算法做,在類。 –