Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSString到NSDate的转换和NSDate don';我不能只给出日期_Objective C_Nsstring_Ios6_Nsdate_Xcode4.5 - Fatal编程技术网

Objective c NSString到NSDate的转换和NSDate don';我不能只给出日期

Objective c NSString到NSDate的转换和NSDate don';我不能只给出日期,objective-c,nsstring,ios6,nsdate,xcode4.5,Objective C,Nsstring,Ios6,Nsdate,Xcode4.5,希望你会做得很好 我在标签上有一个日期(2012年11月14日),意思是 Label.text返回字符串“2012年11月14日” 现在我想把这个字符串转换成NSDate。我使用了这个代码片段 formator.dateStyle=NSDateFormatterShortStyle; formator.dateFormat=@"yyyy-MM-dd"; NSString *temp=[NSString stringWithFormat:@"%@",[formator stringFromDate

希望你会做得很好

我在标签上有一个日期(2012年11月14日),意思是

Label.text返回字符串“2012年11月14日”

现在我想把这个字符串转换成
NSDate
。我使用了这个代码片段

formator.dateStyle=NSDateFormatterShortStyle;
formator.dateFormat=@"yyyy-MM-dd";
NSString *temp=[NSString stringWithFormat:@"%@",[formator stringFromDate:myDatePicker.date]];
NSLog(@"%@",temp);
NSDate *myDate=[formator dateFromString:temp];
NSLog(@"%@",myDate);
myDatePicker.date
output
=2012年11月14日

temp的输出
=2012-11-14

myDate的输出
=2012-06-13 19:00:00+0000

myDate
也为我提供了时间和GMT设置,并且比日期晚了1天,即13天而不是14天,这是我真的不想得到的。我只需要日期

我的要求是获得2012-11-14的输出


感谢您在期待中提供的所有帮助。

试试这个,然后告诉我:

NSDate *dateTemp = [[NSDate alloc] init];
NSDateFormatter *dateFormat1 = [[NSDateFormatter alloc] init];
NSDateFormatter *dateFormat2 = [[NSDateFormatter alloc] init];

[dateFormat1 setDateFormat:@"MM/dd/yy"];
[dateFormat2 setDateFormat:@"yyyy-MM-dd"];

dateTemp = [dateFormat1 dateFromString:newInvoice.date];
newDate.date = [dateFormat2 stringFromDate:dateTemp];
这将是有益的:

-(NSDate *)dateWithOutTime:(NSDate *)datDate
    if( datDate == nil ) {
        datDate = [NSDate date];
    }
    NSDateComponents* comps = [[NSCalendar currentCalendar] components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:datDate];
    return [[NSCalendar currentCalendar] dateFromComponents:comps];
}

如果你找到了答案,请毫不犹豫地勾选:)Anoop Vaidya::谢谢你的回答,伙计。但我认为我们刚刚偏离了问题的轨道。我想要的最终结果是
NSDate
仅为
date
,而没有
time
+GMT
设置。在您的回答中,
newDate
NSString
的类型。我不需要字符串。我需要NSDate。Anoop Vaidya::抱歉,不幸的是它不起作用,它仍然提供时间戳,如
(2012-11-13 19:00:00+0000)
。我试了两次。我知道我们离结果不远,但事实上我只是被困在这里:-(@Azeem我在那里错过了一些东西…我想你必须以字符串结束,否则NSDate将始终包含时间:(::但事实上我必须这样做。无论如何,感谢你的时间伙计。如果我发现了什么,肯定会作为这个问题的答案发布。