【问题标题】:I am getting NSDate null while converting from string?从字符串转换时我得到 NSDate null?
【发布时间】:2014-02-01 11:09:51
【问题描述】:
    NSString * string=@"20-02-2014";
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"MM-dd-yyyy"];
    NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
    [dateFormatter setTimeZone:gmt];

    NSDate *date = [dateFormatter dateFromString:string];

我得到 date = null,请帮我找出问题??

【问题讨论】:

    标签: ios iphone objective-c nsdate nsdateformatter


    【解决方案1】:

    您的NSDateFormatter 错误,您有MM-dd,但您的字符串是dd-mm。 将其更改为:

    [dateFormatter setDateFormat:@"dd-MM-yyyy"];
    

    这应该会有所帮助。

    【讨论】:

    • 是的,我错了 - 但现在我得到了日期 = 2014-02-23 00:00:00 +0000 如何使它成为日期 = 2014-02-23
    • 日期是这样的,这是一个NSDate格式。您是在问如何将 NSDate 格式化为字符串,例如:2014-02-23?
    【解决方案2】:

    如果您使用 datePicker,请尝试以下代码:

        datePicker.datePickerMode = UIDatePickerModeDate;
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    
    
    [formatter setDateFormat:@"MM dd, YYYY"];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    
    NSString *dateselected=[NSString stringWithFormat:@"%@",[formatter       stringFromDate:datePicker.date]];
    [datelabel setText:dateselected];
    [formatter release];
    [datePicker release]; 
    

    【讨论】:

    • 这与@Nithin M Keloth 的代码有何不同?
    • 这不包括 OP 的解析问题。并且没有迹象表明 OP 正在使用日期选择器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    相关资源
    最近更新 更多