我正试图从按钮获取日期“30/06/2013”:
我尝试了这段代码,但我收到了日志:2013-01-04 22:00:00 +0000:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/YYYY"];
NSDate *date = [formatter dateFromString:dateBtn.titleLabel.text];
NSLog(@"date %@",date);
在应用程序中我得到了这个日期“05/01/2013”:
我也试过这段代码,但它不起作用:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"he_IL"];
[dateFormat setLocale:locale];
[dateFormat setDateFormat:@"dd/MM/YYYY"];
NSTimeInterval interval = 5 * 60 * 60;
NSDate *date1 = [dateFormat dateFromString:dateBtn.titleLabel.text];
date1 = [date1 dateByAddingTimeInterval:interval];
重要的是要注意我使用的是语言环境希伯来文。
答案 0 :(得分:2)
看看Apple's official documentation on date formatters。请注意不同平台和版本的格式略有不同。
还要注意yyyy和YYYY之间的区别。
答案 1 :(得分:2)
将日期格式设置为" dd / MM / yyyy"
NSString *originalDate = @"30/06/2013";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/yyyy"];
NSDate *date = [formatter dateFromString:originalDate];
NSLog(@"date %@",date);
来自@fzwo apple链接的解释
它使用yyyy来指定年份组件。一个常见的错误是使用YYYY。 yyyy指定日历年,而YYYY指定ISO年度日历中使用的年份(“年度周”)。在大多数情况下,yyyy和YYYY会产生相同的数字,但它们可能会有所不同。通常,您应该使用日历年。