我有NSStirng
,其中包含2013-01-08 07:52:00 +0000
。我想用不同的NSStrings
分隔日期和时间。
感谢任何帮助。
答案 0 :(得分:6)
服务器的格式是否一致?
您是否需要使用日期和时间进行排序等...或者进行时间添加或者只是显示它们?
如果您只是显示它们并且字符串的格式不会改变,那么您可以这样做......
//assumption 1: the format is <date>space<time>space<timezone>
//assumption 2: the only purpose is to display the values sent from the server.
NSString *dateString = @"2013-01-08 07:52:00 +0000";
NSArray *components = [dateString componentsSeparatedByString:@" "];
NSString *date = components[0];
NSString *time = components[1];
答案 1 :(得分:2)
首先要做的是将日期字符串转换为NSDate
:
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss Z"];
NSDate * date = [formatter dateFromString: @"2013-01-08 07:52:00 +0000"];
然后您可以使用formatter来反转该过程并返回日期和时间。您可以根据需要调整每种格式。
[formatter setTimeStyle:NSDateFormatterShortStyle]; // Get the time only
[formatter setDateStyle:NSDateFormatterNone];
NSString * timeString = [formatter stringFromDate: date];
[formatter setTimeStyle:NSDateFormatterNone];
[formatter setDateStyle:NSDateFormatterShortStyle]; // Get the date only
NSString * dateString = [formatter stringFromDate: date];
答案 2 :(得分:1)
尝试下面的代码,
NSString *maindateString = @"2013-01-08 07:52:00 +0000";
NSDateFormatter *myFormat = [[NSDateFormatter alloc] init];
[myFormat setDateFormat:@"yyyy-mm-dd hh:mm:ss Z"];
NSDate *mainDateDate = [myFormat dateFromString:maindateString];
[myFormat setDateFormat:@"yyyy-mm-dd"];
NSString *stringDate = [myFormat stringFromDate:mainDateDate];
检查NSString
stringDate ,您需要的是: - )
编辑:要获取时间字符串,请添加以下代码:
NSDateFormatter *myFormat2 = [[NSDateFormatter alloc] init];
[myFormat2 setDateFormat:@"HH:mm:ss"];
NSString *stringTime = [myFormat2 stringFromDate:mainDateDate];
NSLog(@"%@",stringTime);
此致
答案 3 :(得分:0)