我搜索一些堆栈淬火来转换字符串到日期,这很好,但我将字符串日期转换为NSDate,而不是返回me 0。这是我的代码:
NSString *dateStr = @"2016-07-29 09:05";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-ddTHH:mm:ss.SSSZ"];
NSDate *date = [dateFormat dateFromString:dateStr];我想把这个日期转换成yyyy-MM-ddTHH:mm:ss.SSSZ这个格式。
这里有什么问题?
发布于 2016-08-05 07:29:54
喜欢
NSString *dateStr = @"2016-07-29 09:05";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
// set the date format related to what the string already you have
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm"];
NSDate *date = [dateFormat dateFromString:dateStr];
[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];
// again add the date format what the output u need
[dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"];
NSString *finalDate = [dateFormat stringFromDate:date];
NSLog(@"finalDate==%@",finalDate);输出

发布于 2016-08-05 07:09:29
您的问题是您的日期格式@"yyyy-MM-ddTHH:mm:ss.SSSZ"与日期字符串@"2016-07-29 09:05"不匹配。您需要使用不同的日期格式。
工作副本-目标C
NSString *dateStr = @"2016-07-29T09:05:00.00000Z";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"];
NSDate *date = [dateFormat dateFromString:dateStr];Swift 2.x
var dateformater = NSDateFormatter()
dateformater.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
var dateString:String = "2016-07-29T09:05:00.00000Z"
let date:NSDate = dateformater.dateFromString(dateString)!
print(date)发布于 2016-08-05 07:13:14
只需按以下方式更改您的格式
NSString *dateStr = @"2016-07-29 09:05";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm"];
NSDate *date = [dateFormat dateFromString:dateStr];之后,您可以将日期转换为以下格式:
dateFormat.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";
NSString *str = [dateFormat stringFromDate:date];
NSLog(@"%@",str);https://stackoverflow.com/questions/38783186
复制相似问题