Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.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
Ios NSDate对象未显示确切日期_Ios_Nsdate_Nsdateformatter - Fatal编程技术网

Ios NSDate对象未显示确切日期

Ios NSDate对象未显示确切日期,ios,nsdate,nsdateformatter,Ios,Nsdate,Nsdateformatter,我在使用NSDate对象时遇到了一个奇怪的问题,我想从位于两个日期之间的核心数据中获取记录。当日期不同时,这似乎没什么问题,但当我试图从相同的日期取回时,它什么也没有给我。我尝试使用上述代码设置两个日期的小时数: // This is for starting date NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar]; NSDateComponents *dateComps = [calendar componen

我在使用
NSDate
对象时遇到了一个奇怪的问题,我想从位于两个日期之间的核心数据中获取记录。当日期不同时,这似乎没什么问题,但当我试图从相同的日期取回时,它什么也没有给我。我尝试使用上述代码设置两个日期的小时数:

// This is for starting date
NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar];

NSDateComponents *dateComps = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:date1];

[dateComps setHour:00];
[dateComps setMinute:00];
[dateComps setSecond:00];
NSDate *itemDate = [calendar dateFromComponents:dateComps];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm a"];
NSString *fdate=[formatter stringFromDate:itemDate];
在这里,
fdate
以字符串的形式提供我想要的日期(
2012-12-11 12:00 AM
)。但是当我试图用上面的代码将其转换为
NSDate

NSDate *dt=[formatter dateFromString:fdate];

它完全破坏了我对上述输出的努力(
2012-12-1018:30:00+0000
)。请建议我该怎么做才能阻止这一切

这个问题在这里已经被回答了一千遍。请使用搜索。这已转换为GMT,我建议始终使用区域设置,以启用此计算机和时区。@AnoopVaidya如果有,请为我提供一些代码。NSDateFormatter*dateFormatter=[NSDateFormatter new];[dateFormatter setDateFormat:@“EEE,dd-MMM-yyy-HH:mm:ss-z”];[dateFormatter setLocale:[NSLocale alloc]initWithLocaleIdentifier:@“EN”];NSDate*myDate=[dateFormatter dateFromString:@“Fri,2012年12月7日08:40:33+0100”];NSLog(@-->%@),myDate;NSString*rechange=[dateFormatter stringFromDate:myDate];NSLog(@“=>%@”,重新更改)@Anopvaidya仍然有相同的结果。