将日期转换为具有不同日期格式 ios 的字符串?

Convert date to string with different date format ios?

我搜索了一些堆栈问题以将字符串转换为日期并且工作正常,但我将我的字符串日期转换为 NSDate 而不是 return 我没有。这是我的代码:

   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这个格式。

这里有什么问题?

您的问题是您的日期格式 @"yyyy-MM-ddTHH:mm:ss.SSSZ" 与您的日期字符串 @"2016-07-29 09:05" 不匹配。您需要使用不同的日期格式。

工作副本 - Objective 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)

只需按如下所示更改格式化程序样式

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);

喜欢

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);

输出

试试这个代码。

NSString *dateStr = @"2016-07-29 09:05";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd hh:mm"];
NSDate *date = [dateFormat dateFromString:dateStr];
NSLog(@"the date  is %@",date);

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
NSString *currentDate = [dateFormatter stringFromDate:date];
NSDate *finaldate = [dateFormatter dateFromString:currentDate];
NSLog(@"CurrentDate:%@", finaldate);