2013-01-08 45 views

回答

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]; 
+0

谢谢,我的只是正确的,虽然如果从服务器的格式是适合的显示。随着你的你可以改变显示格式的月份,时间等... :-) – Fogmeister

+0

亚..但对于一个谁不需要任何改变,这很适合 –

+0

看到..他接受!意味着,他不想要任何灵活性!好答案 –

0

请从字符串创建日期:

NSString to NSDate

,然后使用这些(或将其转换回字符串)。这是保存。

无论如何,你应该有一个NSXate之前,NSString - 你呢?为什么不保留那个?

+0

从服务器获取它作为字符串。 – Sat

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

检查NSStringstringDate并没有你所需要的:-)

编辑:为了让时间字符串,添加以下代码:

NSDateFormatter *myFormat2 = [[NSDateFormatter alloc] init]; 
    [myFormat2 setDateFormat:@"HH:mm:ss"]; 
    NSString *stringTime = [myFormat2 stringFromDate:mainDateDate]; 
    NSLog(@"%@",stringTime); 

Regards

+0

2件事:你的答案中的月份格式不正确,你为什么要减去5.5小时以获得GMT? –

+0

@AshleyMills嗨,如果我没有减去时间间隔,时间得到提前5.30,这是我们在印度的时区,与格林尼治标准时间相比 –

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 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]; 
相关问题