将dateAndTime作为2016-06-16 08:39:36在字符串“dateString”中

时间:2016-06-22 09:35:05

标签: ios objective-c nsdate nsdateformatter

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

提前谢谢

3 个答案:

答案 0 :(得分:1)

你可以像这样分成两个......

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

这会给你这样的结果...... enter image description here

希望这会有所帮助......

答案 1 :(得分:1)

逻辑:
使用NSDateFormatter@"2016-06-16 08:39:36"转换为NSDate对象 更改dateFormat以适合您想要的“at”。
使用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];

答案 2 :(得分:0)

您可以使用以下方法:

-(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的答案,但整个方法。