2010-03-16 58 views
7

我認爲解決方案非常簡單,我只是沒有在網上遇到它。鑑於年,月和日,都在int,我將如何生成NSDate

假設我給了int年,int月,int日,int小時,int min,int sec ..我如何生成NSDate?

我知道我們可以使用[NSDate initWithString:],但如果月/日/時/分/秒是一位數字,我認爲它會變得複雜。

回答

13

假如我是給定的int年,月整型,詮釋天,詮釋小時, int min,int sec ..我如何生成NSDate?

將整數放入一個NSDateComponents對象,然後ask an NSCalendar object to change that into a date

+0

+1這是正確的方法 – 2010-03-17 01:08:12

+0

+1我很早以前就知道,但已經忘記了。謝謝! – 2012-06-01 06:03:02

0

這個here幾乎總結了如何做到這一點。

//create a string that looks like this, "October 22, 2009" or whatever the values are 
NSString* d = [NSString stringWithFormat:@"%@ %@, %@", month, day, year]; 
NSDate* date = [NSDate dateWithNaturalLanguageString:d]; 

鏈接也顯示了用於創建,如果你不喜歡這種特別的方法日期其他選項。

只是意識到,你說你被給予整數...你能做到這一點與此字符串格式:

[NSString stringWithFormat:@"%i/%i/%i", month, day, year]; 
+2

這將在許多語言環境中返回錯誤的結果(任何日期,月份和年份的順序與您創建字符串的方式不匹配的地方)。 – 2010-03-16 20:41:17

相關問題