- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想提前为重复提问而道歉,但目前还没有其他解决方案对我有用。每次我尝试将日期字符串传递给 dateFromString 函数时,我都会得到 nil。我没有在任何地方读到自 iOS 7 更新以来事情发生了变化,但如果这对它是否仍然以相同的方式工作产生影响,我正在更新。
这是我用来从字符串创建日期的代码:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormat setLocale:[NSLocale systemLocale]];
[dateFormat setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
[dateFormat setFormatterBehavior:NSDateFormatterBehaviorDefault];
NSDate *date = [[NSDate alloc] init];
date = [dateFormat dateFromString:dateString];
return date;
我已经根据我读过的所有解决方案设置了我的 dateFormat 来解决这个问题,但是这些设置都没有解决问题。 systemLocale 绝对是为英语设置的,因此应该不会引起任何问题。
这是我传递给 dateFromString 的 dateString:
Wednesday, October 9, 2013 at 2:40:29 PM Pacific Daylight Time
感谢您的帮助!
最佳答案
这里有两个问题:
格式化程序期望的日期字符串格式 (@"yyyy-MM-dd hh:mm:ss"
) 与您尝试的日期字符串格式不同解析 (@"EEEE, MMMM d, yyyy 'at' h:mm:ss a zzzz"
)。
将格式化程序的区域设置为 [NSLocale systemLocale]
会导致 [dateFormat dateFromString:]
返回 nil
。将其设置为 [NSLocate currentLocale]
。
格式化程序的完整代码应该是:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setTimeZone:[NSTimeZone systemTimeZone]];
[dateFormat setLocale:[NSLocale currentLocale]];
[dateFormat setDateFormat:@"EEEE, MMMM d, yyyy 'at' h:mm:ss a zzzz"];
[dateFormat setFormatterBehavior:NSDateFormatterBehaviorDefault];
NSDate *date = [dateFormat dateFromString:dateString];
关于ios - NSDateFormatter dateFromString 总是返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19300032/
我正在使用此代码将字符串转换为日期: +(NSDate*)dateTexteFromString:(NSString*)someString { NSDateFormatter *df = [
我有一个将 NSString 转换为 NSDate 的函数。 + (NSDate *)getNSDateFromString:(NSString *)strDate andFormat:(NSStri
我正在使用 NSDateFormatter 的 dateFromString,但是当它给出字符串时,它会输出不同的小时。 代码 NSDateFormatter *dateformatter = [[N
我绝对不是 NSDateFormatter 或 NSDate 的新手,但这完全难倒了我。我到底是怎么弄错开火日期的? NSDateFormatter *firedateFormat = [[NSDat
尝试将字符串传递给 NSDateFormatter dateFromString 方法时发生崩溃。 我查看了文档,但没有看到任何可以解释问题所在的内容。 NSError * error
我正在使用 NSDateFormatter 的 dateFromString,但是当它被赋予字符串“2013-03-06”时,它吐出一个 NSDate“2012-03-06 00:00:00 CST”
2014/03/30 02:00 -> 02:59 我正在解析 CSV 以训练基本神经网络。每行对应一分钟。该代码可以毫无问题地解析 2014 年的剩余时间,但那一小时的结果为 nil 值。符号上没有
我正在尝试将字符串转换为日期,但结果是不正确的日期。 let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "dd MMM
我有以下代码: NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat =
我正在尝试使用 NSDate dateFromString 方法,但收到警告并且它导致应用程序崩溃。代码如下: NSString *pickerDate = [NSString stringWithF
这是我的NSString, myDate : 2011-06-07 11:23:47 0000 这是代码, NSTimeZone *currentDateTimeZone = [NSTimeZone
美好的一天, 我有一个NSDateFormatter,它似乎不喜欢我尝试转换的特定字符串。这个特定的实例是 2009-10-16T09:42:24.999605 我所有其他日期的格式都相同,并且可以解
以下代码: NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; dateFormatter.d
请用以下代码帮助我。我想做的就是看到两个日期之间的时间(4:42:55)相差不到24小时,所以我不在乎日期。 谢谢 NSLog(@"error code"); NSDate *now = [[NSDa
我有以下代码: NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init]; [dateFormater setDateFormat:
在 swift 中使用 dateFromString 时,某些值得到 nil。我搜索了很多但徒劳无功。 以下是我的代码: let strDate = self.sortedDict.valueForK
- (NSDate*) parseTime:(NSString*) time { NSDateFormatter* dateFormatter = [[NSDateFormatter allo
我知道这个问题已经在 SO 上讨论过很多次,但没有一个结果能解决我的问题。这是代码片段, NSDateFormatter* df = [[NSDateFormatter alloc]init]; [d
我知道对此有很多问题,但似乎没有一个答案对我有用。这是我的代码(iOS SDK 6.0) NSDateFormatter *df = [NSDateFormatter alloc]; [df setD
我知道问题已经存在,但给出的答案对我没有帮助。 生日的值为:Jun 29, 2013, 8:45 AM 这是我的代码: NSDate* now = [[NSDate alloc] init]; NSD
我是一名优秀的程序员,十分优秀!