我想将dateString转换为“2016-06-16 at 08:39:36”
提前谢谢
答案 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);
希望这会有所帮助......
答案 1 :(得分:1)
逻辑:
使用NSDateFormatter
将@"2016-06-16 08:39:36"
转换为NSDate
对象
更改dateFormat
以适合您想要的“at”。
使用NSDateFormatter
将NSDate
转换为所需的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的答案,但整个方法。