问题描述
- 特定日期时NSDate是空值
-
在获取特定时期时得到空字符。比如
13/03/2013
。
代码:NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"MM/dd/yyyy HH:mm:ss a"]; NSDate *myDate = [formatter dateFromString:@"12/03/2013 5:47:00 AM"]; NSDate *myDate1 = [formatter dateFromString:@"13/03/2013 6:25:48 AM"]; NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]]; [df setDateFormat:@"yyyy-MM-dd HH:mm"]; NSString *datestr = [df stringFromDate:myDate]; NSString *datestr1 = [df stringFromDate:myDate1]; NSLog(@"date object %@,%@",datestr,datestr1);
解决方案
需要看一下标准日期格式:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];
NSDate *myDate = [formatter dateFromString:@"12/03/2013 5:47:00 AM"];
NSDate *myDate1 = [formatter dateFromString:@"13/03/2013 6:25:48 AM"];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
NSString *datestr = [formatter stringFromDate:myDate];
NSString *datestr1 = [formatter stringFromDate:myDate1];
NSLog(@"date object %@,%@",datestr,datestr1);
解决方案二:
第一步:解析
解析目前的格式
NSString *curStr=@"13/03/2013";
NSDateFormater *formater=[[NSDateFormater alloc] init];
[formater setDateFormat:@"dd/MM/yyyy"];
NSDate *getDate=[formater dateFromString:curStr];
NSLog(@"get date is: %@",getDate);
第二步:格式化
格式化成你想要的格式。如:2013-03-13
[formater setDateFormat:@"yyyy-MM-dd"];
NSString *getStr=[formater stringFromDate:getDate];
NSLog(@"finally result: %@",getStr);
解决方案三:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[formatter setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];
NSDate *myDate = [formatter dateFromString:@"12/03/2013 5:47:00 AM"];
NSDate *myDate1 = [formatter dateFromString:@"13/03/2013 6:25:48 AM"];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
NSString *datestr = [formatter stringFromDate:myDate];
NSString *datestr1 = [formatter stringFromDate:myDate1];
NSLog(@"date object %@,%@",datestr,datestr1);
时间: 2024-09-19 09:25:58