在我的iPhone应用中将string转换为date
我已经做了一个iPhone日历应用程序,我有一个datestring格式(例如“星期二,2010年5月25日12:53:58 +0000”)。
我想将其转换为NSDate
。
我需要用什么来做到这一点?
看看NSDateFormatter的类参考 。 你这样使用它:
NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000"; // Convert string to date object NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"]; NSDate *date = [dateFormat dateFromString:dateStr]; [dateFormat release];
有关如何自定义NSDateFormatter的更多信息,请参阅本参考指南 。
编辑:
只是你知道,这是要parsing整个月份的名字。 如果您想要三个字母的月份名称,请使用LLL
而不是LLLL
。
-(NSString *)dateToFormatedDate:(NSString *)dateStr { NSString *finalDate = @"2014-10-15"; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd"]; NSDate *date = [dateFormatter dateFromString:dateStr]; [dateFormatter setDateFormat:@"EE, d MMM, YYYY"]; return [dateFormatter stringFromDate:date]; }
如果你使用iOS风格之一存储date,那么使用这个方法要容易得多,而且出错的可能性更小:
// Define a date formatter for storage, full style for more flexibility NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateStyle:NSDateFormatterFullStyle]; [dateFormatter setTimeStyle:NSDateFormatterFullStyle]; // Use today as an example NSDate *today = [NSDate date]; // Format to a string using predefined styles NSString *dateString = [dateFormatter stringFromDate:today]; // Format back to a date using the same styles NSDate *todayFromString = [dateFormatter dateFromString:dateString];
NSString *dateString=@"2017-05-25"; NSDateFormatter *dateFormatter=[NSDateFormatter alloc]init]; [dateFormatter setDateFormatter:@"MM-dd-yyyy"]; NSDate *date =[[NSDate alloc]init]; date=[datFormatter dateFromString:dateString];
- 获取MKMapvIew的界限
- Cocoa / Objective-C中的全局variables?
- 从UITableView单元格中的URL加载asynchronous图像 – 滚动时图像更改为错误的图像
- 你需要在GCD块中创build一个NSAutoreleasePool吗?
- NSString属性:复制或保留?
- 我可以使用CGAffineTransformMakeRotation旋转超过360度的视图吗?
- UITableViewCell与iOS 7中的UITextView高度?
- 如何创buildNSIndexPath所需的“索引”:indexPathWithIndexes:length:
- 在NSArray中放置一个c-struct的最好方法是什么?