将NSString转换为date
我有两个string:date1 = 3-3-2011;
我想转换成2011年3月3日,并显示在标签。
NSString *myString = 3-3-2011; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"d-MM-YYYY"]; NSDate *yourDate = [dateFormatter dateFromString:myString]; //now format this date to whatever you need… [dateFormatter setDateFormat:@"d-MMM-YYYY"]; NSString *resultString = [dateFormatter stringFromDate:yourDate]; [dateFormatter release];
但是你的date= 2010-12-25 18:30:00 +0000
resultstring = 2010年12月26日
我想要2010年3月3日
请帮忙! 谢谢。
你可以使用NSDateFormatter
。
-
将当前的string转换为
NSDate
对象,以便将其转换为您想要的任何格式。NSString *myString = @"3-3-2011"; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"dM-yyy"]; NSDate *yourDate = [dateFormatter dateFromString:myString];
-
现在你可以将这个
NSDate
转换成你想要的任何格式。[dateFormatter setDateFormat:@"d-MMMM-yyyy"]; NSString *resultString = [dateFormatter stringFromDate:yourDate]; [dateFormatter release];
关于NSDateFormatter
Apple文档就在这里 。
看看NSDateFormatter 。 特别的,看看dateFromString:
和stringFromDate:
方法。 您需要将原始string转换为NSDate,然后将该NSDate转换为另一个string。
使用NSDateFormatter的一个技巧:确保总是设置一个语言环境。 如果您没有手动设置区域设置,则它有一个关于12/24小时时钟设置的错误。 我链接的页面上的示例代码显示了如何设置语言环境。
使用dMY(或MdY,取决于哪一个月):
NSString *myString = 3-3-2011; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"dMY"]; NSDate *yourDate = [dateFormatter dateFromString:myString];
请参阅Apple文档中提到的Unicode标准 。