【问题标题】:NSDate and NSString cocoaNSDate 和 NSString 可可
【发布时间】:2011-08-26 11:08:52
【问题描述】:

对于我的 iPhone 应用程序,我必须将 NSDate 对象转换为字符串,然后将字符串转换回 NSDate 对象。有人可以帮帮我吗?谢谢!

【问题讨论】:

  • 与其将 NSDate 转换为字符串然后再转换回 NSDate,您可能希望保持 NSDate 原样并创建一个额外的 NSString 对象来表示它。

标签: iphone nsstring nsdate


【解决方案1】:

用于从NSDate 转换为NSString

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];
NSString *stringFromDate = [formatter stringFromDate:myNSDateInstance];

用于从NSString 转换为NSDate

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd hh:mm:ss a"];
NSDate *myDate = [df dateFromString: stringFromDate];

【讨论】:

    【解决方案2】:

    您需要查看NSDateFormatter 这正是这样做的,双向。

    【讨论】:

      【解决方案3】:

      将 NSDate 转换为 NSString

      NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
      [formatter setDateFormat:@"yyyy"];
      
      //Optionally for time zone converstions
      
      [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"..."]];
      
      NSString *stringFromDate = [formatter stringFromDate:myNSDateInstance];
      

      将 NSString 转换为 NSDate

      NSString *dateString = @"01-02-2010";
      
      NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
      
      // this is imporant - we set our input date format to match our input string
      // if format doesn't match you'll get nil from your string, so be careful
      
      [dateFormatter setDateFormat:@"dd-MM-yyyy"];
      
      NSDate *dateFromString = [[NSDate alloc] init];
      
      // voila!
      dateFromString = [dateFormatter dateFromString:dateString];
      
      [dateFormatter release];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-01
        • 2018-03-10
        • 2014-11-23
        • 2014-05-22
        • 1970-01-01
        • 2011-06-25
        • 2011-02-06
        相关资源
        最近更新 更多