如何从字符串yyyy-MM-dd获取日期格式yyyy-MM-dd:mm:ss
NSString *dateValue = self.selectedReward.expires_at;
NSLog(@"Date value --- %@", dateValue);
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [formatter dateFromString:dateValue];
[cell.lblExpire setText:[NSString stringWithFormat:@"%@ %@",NSLocalizedString(@"lbl_Expired_On", nil),dateValue]];
NSLog(@"date %@", date);
2018-10-24 14:58:02.141296 + 0800 TKBakery [21601:277978]日期值--- 2018-10-15 15:37:00
2018-10-24 14:58:02.141878 + 0800 TKBakery [21601:277978] date ----(null)
在你的问题中,你已经清楚地提到了日期格式,然后为什么使用了错误的格式
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//2018-10-15 15:37:00
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [formatter dateFromString:dateValue];
NSLog(@"date %@", date);
[formatter setDateFormat:@"yyyy-MM-dd"];
NSString *getFinalDate = [formatter stringFromDate:dateValue];
NSLog(@"final Date %@", getFinalDate);
有关更多信息,请参阅此示例output
使用适当的格式将字符串转换为日期,然后将该日期更改为您需要的格式的字符串。
更改代码如下:
NSString *dateValue = self.selectedReward.expires_at;
NSLog(@"Date value --- %@", dateValue);
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //change the format
NSDate *date = [formatter dateFromString:dateValue];
//add this:
[formatter setDateFormat:@"yyyy-MM-ss"];
NSString *dateStr = [formatter stringFromDate:date];
[cell.lblExpire setText:[NSString stringWithFormat:@"%@ %@",NSLocalizedString(@"lbl_Expired_On", nil),dateStr]];
NSLog(@"date %@", dateStr);