-3

我正在尝试从按钮获取日期“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];

重要的是要注意我使用语言环境希伯来语。

4

2 回答 2

2

查看Apple 关于日期格式化程序的官方文档。请注意格式在不同平台和版本之间略有不同。

还要注意 yyyy 和 YYYY 之间的区别。

于 2013-07-09T15:37:29.883 回答
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 苹果链接的解释

它使用 yyyy 来指定年份组件。一个常见的错误是使用 YYYY。yyyy 指定日历年,而 YYYY 指定年份(“一年中的一周”),用于 ISO 年-周日历。在大多数情况下,yyyy 和 YYYY 产生相同的数字,但它们可能不同。通常,您应该使用日历年。

于 2013-07-09T15:38:04.073 回答