2016-12-22 26 views
1

我有兩個用戶選擇日期:startDate和endDate。他們是NSDate實例,我必須將它們作爲參數發送,如NSNumber s。我怎樣才能將它們轉換爲NSNumber秒?如何將NSDate以特定的日期格式發送爲NSNumber?即用另一種格式將NSDate轉換爲NSDate?

+0

你的意思是NStimeInterval?然後從那裏你可以格式化日期 – Joshua

+0

你不應該發送原始日期,因爲你會有不同的時區問題。 – NSDmitry

回答

1

1)首先,獲取日期在MM/dd/yyyy格式:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"MM/dd/yyyy"]; 

2)從它那裏得到的字符串日期和去除 '/':

NString *string = [formatter stringFromDate:date]; 
NString *finalStr = [string stringByReplacingOccurrencesOfString:@"/" withString:@""]; 

3)使用NSNumberFormatterNSString轉換爲NSNumber

NSNumberFormatter *f = [[NSNumberFormatter alloc] init]; 
f.numberStyle = NSNumberFormatterDecimalStyle; 
NSNumber *myNumber = [f numberFromString: finalStr]; 

希望,這就是你想要的!

3

使用下面的代碼:

NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; 
// set format however you want 
[formatter setDateFormat:@"ddMMyyyy"]; 
NSDate *date = [NSDate date]; 
NSString *string = [formatter stringFromDate:date]; 
NSNumber *num1 = @([string intValue]); 
NSLog(@"%@",num1); 
+0

@AbdulAziz魯斯塔姆奧格利你試過這個嗎? – Himanth

+0

我試過了。它以@「22/01/2016」的形式將日期作爲字符串,但是當作爲int時,只有22(int)。 –

+0

告訴我你試過了什麼? – Himanth

相關問題