Iphone NSDateFormatter正在返回空日期
下面是我的代码Iphone NSDateFormatter正在返回空日期,iphone,ios,ipad,Iphone,Ios,Ipad,下面是我的代码 NSString *dateandtime =[NSString stringWithFormat:@"%@",self.eventtime]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"]; NSDate *dateFromString = [[NS
NSString *dateandtime =[NSString stringWithFormat:@"%@",self.eventtime];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:dateandtime];
如果我打印我的self.event name,我得到的输出是Mon,2013年1月7日15:30:00 CST
,但是当我在NSDateFormatter
中传递这个字符串时,我得到的是null
值,我不知道为什么我尝试了许多日期格式的组合,但我无法解决它,有谁能帮我使用:
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss z"];
使用以下方法从NSString
日期获取NSDate
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [self convertStringToDate:dateandtime];
将以下方法粘贴到.m
文件中
-(NSDate *)convertStringToDate:(NSString *) date {
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
NSDate *nowDate = [[[NSDate alloc] init] autorelease];
[formatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss 'CST'"];// set format here format in which the date should be
date = [date stringByReplacingOccurrencesOfString:@"+0000" withString:@""];
nowDate = [formatter dateFromString:date];
// NSLog(@"date============================>>>>>>>>>>>>>>> : %@", nowDate);
return nowDate;
}
有关NSDate
组件的更多信息,请参阅我博客的这篇文章使用此代码
- (NSString *)formattedDate:(NSString*)dateSte {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[NSTimeZone resetSystemTimeZone];
NSTimeZone *gmtZone = [NSTimeZone systemTimeZone];
[dateFormatter setTimeZone:gmtZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:dateSte];
[dateFormatter setDateFormat:@"EEE,MMM d,''yyyy"];
NSString *strDate = [dateFormatter stringFromDate:date];
return strDate;
}
我根据Prateek的评论解决了我的问题,现在它对我有效了…谢谢Prateek
in your self.event, you are getting CST, it should be time zone for example +0530
在你的self.event中,你得到的是CST,它应该是时区,例如+0530,我不知道这是否是原因,但如果它显示的是1月7日,那么应该是“d MMM”而不是“dd MMM”,我从xml得到的,我如何将其更改为时区,但它不是文字我想你需要的是:为什么NSDateFormatter返回零?[1][1]:我检查了我的系统,然后才发布。@PradeepKumar,你收到了吗??现在我刚刚更新了答案,它的返回日期是2013-01-07 10:00:00+0000输出。@PradeepKumar从这个链接看到我的另一个答案,就像你的问题一样