に、私は以下を使用する場合、私はnil
文字列をバック取得しています:形式の日付文字列を変換する:「2017年1月3日16:50:00.0」NSDate
NSString *formatString = @"yyyy-MM-dd HH:mm:SS.Z";
NSString *dateString = @"2017-01-03 16:50:00.0";
NSDateFormatter *newDateFormatter = [[NSDateFormatter alloc] init];
[newDateFormatter setDateFormat:formatString];
[newDateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[newDateFormatter setLocale:[NSLocale autoupdatingCurrentLocale]];
NSDate *newDate = [newDateFormatter dateFromString: dateString];
私は私のログ出力をする場合、私はnewDateFormatter
ではないが、nil
newDate
となる。私は間違って何をしていますか?
幸運だった:) – Hackerman
あなたがたDateFormatでstuckedされている場合日からフォーマッタと
.0
から.Z
を削除:あなたはどの見つけるまでそれをカットあなたのフォーマットの一部が間違っています。たとえば 'yyyy-MM-dd HH:mm:SS'と' 2017-01-03 16:50:00'の作業(ただし、 'ss'でなければなりません。' 00'を '33'で置き換えると、それで、それは "Z"の部分です.iOSのDateFormatのドキュメントはhttp://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns Youです。私の推測では、=> 'yyyy-MM-1 'というのは、' 'Z''と' '0''をtimeZoneとして翻訳することができないということです。 dd HH:mm:ss.SSS' – Larme