4

以下は私のコードです

 NSString *dateandtime =[NSString stringWithFormat:@"%@",self.eventtime];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
    NSDate *dateFromString = [[NSDate alloc] init];
    dateFromString = [dateFormatter dateFromString:dateandtime];

自分の self.event 名を印刷すると出力が得られますMon, 7 Jan 2013 15:30:00 CSTが、この文字列を渡すと値NSDateFormatterが得nullられますなぜ試したのかわかりませんがmany combinationsdate formats解決できません。誰か助けてください

4

4 に答える 4

1

Per Prateekのコメントとして問題を解決しました。今は私のために働いています...ありがとうPrateek。

in your self.event, you are getting CST, it should be time zone for example +0530
于 2013-01-08T13:19:41.407 に答える
0

開始日を取得するには、以下の方法を使用NSDateNSStringます

NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [self convertStringToDate:dateandtime];

以下のメソッドを.mファイルに貼り付けます...

-(NSDate *)convertStringToDate:(NSString *) date {
        NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; 
        NSDate *nowDate = [[[NSDate alloc] init] autorelease];
        [formatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss 'CST'"];// set format here  format in which the date should be

        date = [date stringByReplacingOccurrencesOfString:@"+0000" withString:@""];
        nowDate = [formatter dateFromString:date];
        // NSLog(@"date============================>>>>>>>>>>>>>>> : %@", nowDate);
        return nowDate;
}

コンポーネントの詳細についてNSDateは、マイブログNSDate-formate-info-for-iphone-sdkのこの投稿を参照してください。

于 2013-01-08T09:11:00.290 に答える
0

このコードを使用...

- (NSString *)formattedDate:(NSString*)dateSte {

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [NSTimeZone resetSystemTimeZone];
    NSTimeZone *gmtZone = [NSTimeZone systemTimeZone];
    [dateFormatter setTimeZone:gmtZone];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];

    NSDate *date = [dateFormatter dateFromString:dateSte];

    [dateFormatter setDateFormat:@"EEE,MMM d,''yyyy"];
    NSString *strDate = [dateFormatter stringFromDate:date];

    return strDate;
}
于 2013-01-08T10:31:50.080 に答える
0

使用する :

[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss z"];
于 2013-01-08T08:31:07.313 に答える