1

我正在使用 Twitter API 来下载推文的数量,因为我在我的 iOS 应用程序中需要它们。我正在使用此功能来执行此操作。问题是我需要知道写推文的日期、月份和年份。

回来的日期是这样的:

Thu Oct 25 10:34:58 +0000 2012

但我需要这样格式的日期:

25/10/2012 10:34

所以,我想将第一种格式转换为第二种格式。我试过用 NSDate 和 NSDateFormatter 来做,用第一个 NSString 获得一个 NSDate,然后在第二个 NSString 中转换这个 NSDate,但我没有得到它。

    NSArray *dateArray = [tweets valueForKey:@"created_at"];
    NSString *dateString = [dateArray objectAtIndex:0];   // Thu Oct 25 10:34:58 +0000 2012

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateStyle:NSDateFormatterMediumStyle];
    [dateFormatter setTimeStyle:NSDateFormatterShortStyle];

    NSDate *date = [dateFormatter dateFromString:dateString];
    NSLog(@"%@", date);

    [dateFormatter setDateFormat:@"dd/MM/yyyy"];

    NSString *realDateStr = [dateFormatter stringFromDate:date];
    NSLog(@"%@", realDateStr);

两个 NSLog 各自返回 null。

有谁能够帮我?谢谢。

4

2 回答 2

0

试试这个简单的方法:

NSString* string=@"26-01-2014";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-mm-yyyy"];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];

NSDate *date = [dateFormatter dateFromString:string];
NSLog(@"Date = %@",date);
于 2014-02-01T11:59:05.507 回答
0

尝试设置最初的日期格式来解析你得到的日期字符串,如下所示:

NSString *dateString = @"Thu Oct 25 10:34:58 +0000 2012";

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE MMM dd hh:mm:ss Z yyyy"];

NSDate *date = [dateFormatter dateFromString:dateString];
NSLog(@"%@", date);

[dateFormatter setDateFormat:@"dd/MM/yyyy hh:mm"];

NSString *realDateStr = [dateFormatter stringFromDate:date];
NSLog(@"%@", realDateStr);
于 2012-10-30T20:24:37.280 回答