我有这段代码:
NSDateFormatter* df = [[NSDateFormatter alloc] init];df.locale = [NSLocale currentLocale];df.timeZone = [NSTimeZone localTimeZone];df.timeStyle = NSDateFormatterShortStyle;df.dateStyle = NSDateFormatterShortStyle;df.locale = [NSLocale currentLocale];[df setDateFormat:@"dd/MM/yyyy"];Nsstring *todaysDate = @"31/12/2013";NSDate* today = [df dateFromString:todaysDate];NSLog(@"comparing todaysDate: %@ with today: %@",todaysDate,today);
当我检查我的控制台时,我看到今天的日期是2013年12月31日,今天是2013-12-30 21:00:00 0000我不明白为什么它会过去1天…任何人都可以帮助我?我试图基本上根据日期过滤字典中的一些项目.过滤此处未包含的部分,因为确定dateFromString未执行其工作.
解决方法 这很可能是因为你的TimeZone.你似乎是GMT 3或类似的东西.如果你改变你当地的时区,一切都应该没问题.你应该使用:df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0]:而不是localTimeZoneto即使在不同的时区也总是有相同的结果.
总结以上是内存溢出为你收集整理的ios – 给NSDate的NSString提供了错误的一天全部内容,希望文章能够帮你解决ios – 给NSDate的NSString提供了错误的一天所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)