Objective-C dateformatter。 yyyy-MM-dd hh:mm:ss改为yyyy-MM-dd
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Objective-C dateformatter。 yyyy-MM-dd hh:mm:ss改为yyyy-MM-dd相关的知识,希望对你有一定的参考价值。
如何从字符串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);
以上是关于Objective-C dateformatter。 yyyy-MM-dd hh:mm:ss改为yyyy-MM-dd的主要内容,如果未能解决你的问题,请参考以下文章