0
NSDateFormatter *newformat = [NSDateFormatter new];

[newformat setDateFormat:@"yyyy/MM/dd HH:mm:ss"];

NSString *string = [newformat stringFromDate:[NSDate date]];

必要な形式として文字列を取得していますが、日付ではありません

NSDate *newone = [secondformatter dateFromString:string];
4

4 に答える 4

0

必要な形式で文字列を取得しているため、書式設定が正常に行われたことを意味します。コードは問題なく動作するはずです。では、フォーマットが完了したかどうかを確認するために何をしていますか? 日付オブジェクトを印刷すると、書式設定なしでデフォルトの UTC 形式で日付が印刷されます。そのため、印刷して日付を確認することはできません。

これは、チェックに役立つかもしれません。ドキュメントには、つまり、フォーマッタの出力を直接印刷すると書かれていますが、私はそれに賭けません...

NSLog(@"%@", [secondformatter dateFromString:string]);
于 2013-05-30T09:07:39.550 に答える
0

NSDate にはフォーマットがありません。単一のフォーマットで提供されます。フォーマッタは、日付オブジェクトから特定のフォーマットで文字列を作成します。日付も同じままです。

 NSDateFormatter * dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy/MM/dd"];//here the output string will be in the fromat specified here
NSString * dateEndPrev = [dateFormat stringFromDate:[NSDate date]];
NSLog(@"%@",dateEndPrev);
于 2013-05-30T09:14:17.740 に答える
0

のようにしてみてください。

   NSDateFormatter * dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"MMM dd, YYYY"];
    NSString * dateEndPrev = [dateFormat stringFromDate:[NSDate date]];

    NSDateFormatter * dateFormat1 = [[NSDateFormatter alloc] init];
    [dateFormat1 setDateFormat:@"MMM dd, YYYY a"];

    NSDate *tmp = [dateFormat dateFromString:dateEndPrev];
    NSString *strNew = [dateFormat1 stringFromDate:tmp];

    NSDate *date = [dateFormat1 dateFromString:strNew];

それはあなたのために働くかもしれません。

于 2013-05-02T10:06:13.323 に答える