1

Twitter API を使用してツイート数をダウンロードしています。これは、iOS 用のアプリで必要なためです。私はこれを行うためにこの関数を使用しています。問題は、ツイートが書かれた年月日を知る必要があることです。

戻ってくる日付は次のようになります。

Thu Oct 25 10:34:58 +0000 2012

しかし、この形式のような日付が必要です:

25/10/2012 10:34

そこで、最初の形式を 2 番目の形式に変換したいと思います。最初の NSString で NSDate を取得し、この NSDate を 2 番目の NSString に変換した後、NSDate と NSDateFormatter でそれを実行しようとしましたが、取得できませんでした。

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

2 つの 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

Try setting the date format originally to parse out the date string you are getting, like this:

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 に答える