将NSDate转换为NSString

时间:2013-01-03 14:35:50

标签: objective-c nsstring nsdate

  

可能重复:
  Convert NSDate to NSString
  convert string to nsdate

目前我有这段代码。这是为了向日历添加事件。

[...]
event.startDate = [[NSDate date] dateByAddingTimeInterval:86400];
event.endDate = [[NSDate date] dateByAddingTimeInterval:90000];

我需要的是添加到特定开始日期和结束日期的代码,这就是NSString派上用场的地方。但到目前为止我还没有运气转换它。

3 个答案:

答案 0 :(得分:5)

参考此代码:

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];

NSDate转换为NSString:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSString *strDate = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"%@", strDate);
[dateFormatter release];

希望它可以帮到你

答案 1 :(得分:0)

将NSDate转换为NSString为

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];

NSString *string = [dateFormatter stringFromDate:date];
[dateFormatter release];

答案 2 :(得分:0)

如果您需要“1937年11月23日”这样的格式,那就是一个例子:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateStyle= NSDateFormatterMediumStyle;
NSString* string= [formatter stringFromDate: date];

查看reference了解其他款式。如果你需要另一种不具有常量的样式,你可以使用日期格式,在这种情况下它是:

formatter.dateFormat= @"MMM dd, yyyy"; // same as medium style

但首选的方法是使用样式,只有在没有属性样式时才使用格式。