簡體   English   中英

無法從NSString轉換為NSDate

[英]Can't convert from NSString to NSDate

我無法將我的NSString轉換為NSDate。 這是代碼:

+ (NSDate *) stringToNSDate: (NSString *) dateString{
[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZ"];

NSDate *dateFromString = [dateFormatter dateFromString:dateString];
NSLog(@"dateString: %@ datefromstring: %@", dateString, dateFromString);
return dateFromString;
}

//dateFromString is nil.

我該怎么辦? 謝謝!

順便說一句,dateString將始終包含以下格式的字符串日期:“ 2012/02/10 08:01:25 +0000”

從您提供的信息來看,問題似乎在於您的dateString用斜杠( \\ )分隔了日期組件,但是日期格式化程序期望使用破折號( - )。


編輯

要回答其他問題,可以使用stringByReplacingOccurrencesOfString:withString:

例如:

NSString *date1 = @"2012/12/10 ...";
NSString *date2 = [date1 stringByReplacingOccurrencesOfString:@"/" withString:@"-"];

請注意,這會將每個/替換為- ,因此請注意時區等。

嘗試以下方法:

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm:ss ZZZ"];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM