我希望NSDate采用dd / MM / yyyy格式,没有时间,即hh:mm:ss格式。我可以以这种格式获取字符串但不是nsdate。如何获得像2013年12月27日的nsdate?
提前致谢!
答案 0 :(得分:2)
您可以使用NSDateFormatter格式化NSDate
个变量。在你的情况下,你会像这样使用它:
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"dd/MM/yyyy";
NSLog(@"my date is %@",[dateFormatter stringFromDate:yourNSDateVariable]);
答案 1 :(得分:1)
NSFormatter很容易做到这一点:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/yyyy"];
NSString *dateInString = [formatter stringFromDate:yourdate];
答案 2 :(得分:0)
您无法“格式化”NSDate,而只能使用它的字符串表示形式(您说您已经知道该怎么做)。有关更多详细信息,请查看NSDate类参考:http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/
答案 3 :(得分:0)
NSDateFormatter *oldFormatter = [[NSDateFormatter alloc] init];
[oldFormatter setDateFormat: @"dd/MM/yyyy HH:mm:ss"];
NSString *oldString = @"27/12/2013 21:30:21";
NSDate *theDate= [oldFormatter dateFromString:oldString];
NSDateFormatter *newFormatter = [[NSDateFormatter alloc] init];
[newFormatter setDateFormat: @"dd/MM/yyyy"];
NSString *yourString = [newFormatter stringFromDate:theDate];
NSLog(@"%@", yourString);