在字符串 "dateString" 中获取 dateAndTime 作为 2016-06-16 08:39:36

Getting dateAndTime as 2016-06-16 08:39:36 in string "dateString"

我想将 dateString 转换为“2016-06-16 08:39:36”

 -(NSString *)getSocialWallPostDateFormat:(NSString *)dateString{ }

dateString 格式为 YYYY-MM-dd HH:mm:ss

提前致谢

你可以这样一分为二....

NSDate *date=[NSDate date]; // Today's date.. You can put here your date..
NSLog(@"Today's date: %@",date);

NSDateFormatter *formatter1=[[NSDateFormatter alloc]init];
formatter1.dateFormat=@"yyyy-MM-dd";
NSLog(@"Date : %@",[formatter1 stringFromDate:date]);

NSDateFormatter *formatter2=[[NSDateFormatter alloc]init];
formatter2.dateFormat=@"HH:mm:ss";
NSLog(@"Time : %@",[formatter2 stringFromDate:date]);

NSString *dateString=[NSString stringWithFormat:@"%@ at %@",[formatter1 stringFromDate:date],[formatter2 stringFromDate:date]];
NSLog(@"%@",dateString);

这会给你喜欢的结果...

希望这对您有所帮助...

您可以使用如下方法:

-(NSString * )stringFromDate:(NSDate * )dateToConvert {

    NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.dateFormat=@"yyyy-MM-dd";

    NSDateFormatter * timeFormatter = [[NSDateFormatter alloc] init];
    timeFormatter.dateFormat=@"HH:mm:ss";

    NSString *string = [NSString stringWithFormat:@"%@ at %@", [dateFormatter stringFromDate:dateToConvert], [timeFormatter stringFromDate:dateToConvert]];

    return string;
}

您正在使用 NSDateFormatter 创建 a) 短日期和 b) 短时间,然后在两者之间创建一个带有 "at" 的字符串。

编辑:

修正了时间和日期格式,因为答案不正确。类似于@Sneha 的回答,但使用了完整的方法。

逻辑:
使用 NSDateFormatter@"2016-06-16 08:39:36" 转换为 NSDate 对象。
使用 "at".
更改 dateFormat 以适合您想要的那个 使用 NSDateFormatterNSDate 转换为想要的 NSString.

NSString *dateStringInitial = @"2016-06-16 08:39:36";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:dateStringInitial];
[dateFormatter setDateFormat:@"yyyy-MM-dd 'at' HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:date];