1

NSStirng含む があります2013-01-08 07:52:00 +0000。日付と時刻を別々に分けたいと思いますNSStrings

どんな助けでも大歓迎です。

4

4 に答える 4

7

サーバーからのフォーマットは一貫していますか?

日付と時刻を並べ替えなどに使用する必要がありますか、それとも時間の加算を行うために使用する必要がありますか、それとも単に表示するだけですか?

それらを表示しているだけで、文字列の形式が変更されない場合は、これを行うことができます...

//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];
于 2013-01-08T10:00:29.070 に答える
3

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];
于 2013-01-08T10:20:56.350 に答える
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];

NSString stringDateを確認すると、必要なものがあります:-)

編集: 時間文字列を取得するには、次のコードを追加します。

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

よろしく

于 2013-01-08T09:55:02.720 に答える
0

その文字列から日付を作成してください:

NSString から NSDate

次に、これらを使用します(または文字列に変換します)。それは保存です。

とにかく、その NSString の前に NSDate があったはずです-そうでしたか? なぜそれを保持しないのですか?

于 2013-01-08T08:43:50.860 に答える