【问题标题】:iphone NSDate Problemiphone NSDate 问题
【发布时间】:2011-06-01 05:38:57
【问题描述】:

我可以使用以下代码将 UILabel 的值存储到字符串中。字符串的值存储到 NSDate 中。

NSString *star = [[NSString alloc]init];
star = lbtInDate.text;
NSString *end = [[NSString alloc]init];
end = lblOutDate.text;
NSDateFormatter *dateFormatter1=[[NSDateFormatter alloc]init];
[dateFormatter1 setDateFormat:@"yyyy-MM-dd HH:mm"];
NSDate *sdate= [dateFormatter1 dateFromString:star];
NSDate *edate=[dateFormatter1 dateFromString:end];

但 sdate 和 edate 的值显示为 nil。所以请帮助我如何将 UILabel 的值存储到 NSDate 中进行比较。

【问题讨论】:

  • 两件事:你确定 lbtInDatelblOutDate 在你的 xib 文件中连接(不是 nil)吗?而且,您如何检查sdateedate 的值?
  • 另外,请注意:您不必这样做NSString *foo = [[NSString alloc] init]; foo = ...;。这实际上会泄漏内存相反,您应该只做NSString *foo = ...;
  • 在将其转换为日期之前,只需 NSLog 星号并结束,这样您就可以确保从标签(而非标签)中获取值..
  • 我认为您没有得到结果,因为您的日期格式化程序不正确,无法参考转到stackoverflow.com/questions/5087173/… .....还要交叉检查您是否在星号和结束变量中获取值... . 你也不需要对这些 tw 变量使用 [[NSString alloc]init] (这是一个泄漏)

标签: iphone nsdate


【解决方案1】:

您的代码完全有效,只有 lbtInDate.text;lblOutDate.text; 尊重日期格式。如果不是,您的 NSDate 将为空。

如果lblOutDate.text; 类似于@"2002-12-23",您的日期格式应该是@"yyyy-MM-dd" 等等。

Data Formatting Guide

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    相关资源
    最近更新 更多