2014-12-09 61 views
1

我有一个复杂的日期格式,我需要处理它只有日期和时间。我现在的日期格式示例如下。DateFormatter格式:2014-12-08T14:11:32.636Z

当前格式:2014-12-08T14:11:32.636Z

我不知道是什么的一些字段被注定的。我想从上面的例子给出如下。

firstString = "08-12-2014" 
secondString = "14:11" 

我已经尝试了很多日期格式,但他们没有奏效。所以请帮助我。谢谢你的时间。

+0

后你已经尝试了什么......我会解决你的问题...... – 2014-12-09 12:10:11

回答

-1
// Date formatter for your date string: 2014-12-08T14:11:32.636Z 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.SSS'Z'"]; 

    // Date from your string 
    NSDate *date = [dateFormatter dateFromString:@"2014-12-08T14:11:32.636Z"]; 

    // T => Week Day 
    // S => Fractional Second 
    // Z => zone- Time Zone 


    // Updating to your format for preffered style 
    [dateFormatter setDateFormat:@"dd-MM-yyyy"]; 
    NSString *firstString = [dateFormatter stringFromDate:date]; 
    [dateFormatter setDateFormat:@"HH:mm"]; 
    NSString *secondString = [dateFormatter stringFromDate:date]; 

更多参考:http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns

+0

三江源这么多。有效。 – 2014-12-09 13:39:58

+0

没有必要引用所有的标点符号。并且不要在格式字符串中引用'Z'。这会给出错误的结果。 – rmaddy 2015-09-30 19:47:45

2
- (NSDate *)formatStringToDate:(NSString *)string 
{ 
    NSDateFormatter *dateFormatter=[NSDateFormatter new]; 
    [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"]; 
    NSDate *date = [dateFormatter dateFromString:string]; 
    return date; 
} 

尝试,这将工作...