我正在执行以下代码:
NSString *stringToFormat = ticket.date;
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"dd MMMM yyyy"];
df.locale = [[NSLocale alloc] initWithLocaleIdentifier: @"ro_RO"];
[df setDateFormat:@"dd.MM.yyyy"];
NSString *final = [df stringFromDate:[df dateFromString:stringToFormat]];
self.dateLabel.text = final;
问题是最终是否为零?为什么呢?
答案 0 :(得分:1)
请为您的机票使用此格式 dd.MMMM.yyyy hh:mm
NSString *stringToFormat = ticket.date;
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"dd.MMMM.yyyy hh:mm"];//16.Octombrie.2015 10:02
df.locale = [[NSLocale alloc] initWithLocaleIdentifier: @"ro_RO"];
NSDateFormatter *localDF = [NSDateFormatter new];
localDF.locale = [[NSLocale alloc] initWithLocaleIdentifier: @"ro_RO"];
[localDF setDateFormat:@"dd.MM.yyyy"];
NSString *final = [localDF stringFromDate:[df dateFromString:stringToFormat]];
答案 1 :(得分:0)
您在ticket.date中收到的格式不是您在代码中提供的格式。 " dd MMMM yyyy" < ---这是您在代码中提供的格式,但可能不是您在ticket.date中收到的格式
答案 2 :(得分:0)
代码中有两个问题:
以下是更正后的代码:
NSString *stringToFormat = @"16.Octombrie.2015 10:02";
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.locale = [[NSLocale alloc] initWithLocaleIdentifier: @"ro_RO"];
[df setDateFormat:@"dd.MMMM.yyyy hh:mm"];
NSDateFormatter *df2 = [[NSDateFormatter alloc] init];
df2.locale = [[NSLocale alloc] initWithLocaleIdentifier: @"ro_RO"];
[df2 setDateFormat:@"dd.MM.yyyy"];
NSString *final = [df2 stringFromDate:[df dateFromString:stringToFormat]];
您还必须将区域设置设置为第一个日期格式化程序,以便格式化程序将 Octombrie 识别为有效月份。