hi!
我有一个字符串:2012-11-07 15:22:06
,我想在上面做一个NSDateFormatter
。我这样做:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"HH:mm, MMMM d, yyyy"];
NSString *date = [[NSString alloc] initWithFormat:@"%@", [df dateFromString:myString]];
但是它不起作用,它返回" (null)
"。
希望有人会帮助我。
谢谢
因此,您设置的格式为[df setDateFormat:@" hh:mm,mmmm d,yyyy"];
字符串mystring是 @" 2012-11-07 15:22:06"
=>不匹配
---所以我收集的内容阅读了您对其他答案的评论:
#import <Foundation/Foundation.h>
int main(int argc, char *argv[]) {
@autoreleasepool {
NSString *myString = @"2012-11-07 15:22:06"; //yyyy-MM-dd HH:mm:ss
//convert to date
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-DD HH:mm:ss"];
NSDate *myDate = [df dateFromString:myString];
NSLog(@"%@", myDate); //2012-01-07 14:22:06 +0000
//output it in natural language
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[df setTimeStyle:NSDateFormatterNoStyle];
[df setDateStyle:NSDateFormatterMediumStyle];
[df setLocale:usLocale];
NSLog(@"%@", [df stringFromDate:myDate]); //Jan 7, 2012
}
}
您的格式甚至不接近字符串的格式。使用:
yyyy-MM-dd HH:mm:ss
使用此格式:yyyy-mm-dd HH:mm:SS以获取格式:2012-11-07 15:22:06。
获取格式:2012年11月7日使用此功能:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
NSString *string=[dateFormatter stringFromDate:date];
NSDate *newDate=[dateFormatter dateFromString:string];