Objective c 如何以特定日期格式发送NSDate作为NSNumber?i、 是否将NSDate转换为另一种格式的NSDate?

Objective c 如何以特定日期格式发送NSDate作为NSNumber?i、 是否将NSDate转换为另一种格式的NSDate?,objective-c,nsdate,nsnumber,Objective C,Nsdate,Nsnumber,我有两个用户选择的日期:开始日期和结束日期。它们是NSDate实例,我必须将它们作为参数NSNumbers发送。如何将它们转换为秒数 使用以下代码: NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; // set format however you want [formatter setDateFormat:@"ddMMyyyy"]; NSDate *date = [NSDate date]; NSString *stri

我有两个用户选择的日期:开始日期和结束日期。它们是NSDate实例,我必须将它们作为参数
NSNumber
s发送。如何将它们转换为秒数

使用以下代码:

 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);
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) 使用
NSNumberFormatter
NSString
转换为
NSNumber

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

希望,这就是你想要的

如果您指的是时间戳格式 NSDate*日期=[NSDate日期]; NSTimeInterval ti=[日期时间间隔1970];


谢谢,

你是说时间间隔?然后,你可以格式化日期,你不应该发送原始日期,因为这样你会遇到不同时区的问题。我试过了。它以@“22/01/2016”的形式将日期作为字符串,但当作为int时,只有22(int)。'NSDateFormatter*formatter=[[NSDateFormatter alloc]init];dateFormat=短日期格式;[格式化程序setDateFormat:dateFormat];self.stringfr=[formatter stringFromDate:date];self.startDate=@([self.stringfr intValue]);'我希望我的回答符合你的期望。是的,完全正确。只有22个字符串@“22/01/2016”。让我检查一下