我正在为我的iOS应用添加日期和时间。我已成功添加日期,但希望在不同的标签上显示时间。
我的代码看起来像这样,但我收到错误'重新定义dateFormatter'。如何在单独的标签上拨打电话?
NSLocale *en_US_POSIX = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
assert(en_US_POSIX != nil);
// The Date
//set the date label correctly
//format the date to July 9 2013 - MMMM d yyyy
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:en_US_POSIX];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *dateFromString = [[NSDate alloc] init];
// dateFromString = [dateFormatter dateFromString:curDate];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMMM d yyyy"];
NSString *theDate = [dateFormat stringFromDate:dateFromString];
labelDate.text = theDate;
// The Time
NSDate *currentTime = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh-mm"];
NSString *resultString = [dateFormatter stringFromDate: currentTime];
labelTime.text = resultString;
答案 0 :(得分:3)
您只需要删除重新初始化NSDateFormatter的行。
正确的代码是:
NSLocale *en_US_POSIX = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
assert(en_US_POSIX != nil);
// The Date
//set the date label correctly
//format the date to July 9 2013 - MMMM d yyyy
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:en_US_POSIX];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *dateFromString = [[NSDate alloc] init];
// dateFromString = [dateFormatter dateFromString:curDate];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMMM d yyyy"];
NSString *theDate = [dateFormat stringFromDate:dateFromString];
labelDate.text = theDate;
// The Time
NSDate *currentTime = [NSDate date];
[dateFormatter setDateFormat:@"hh-mm"];
NSString *resultString = [dateFormatter stringFromDate: currentTime];
labelTime.text = resultString;
答案 1 :(得分:0)
老兄只是改变了NSDateFormatter名称:)就是这样,你的问题解决了:)
答案 2 :(得分:0)
试试这个
NSLocale *en_US_POSIX = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
assert(en_US_POSIX != nil);
//format the date to July 9 2013 - MMMM d yyyy
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:en_US_POSIX];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *dateFromString = [[NSDate alloc] init];
// dateFromString = [dateFormatter dateFromString:curDate];
[dateFormat setDateFormat:@"MMMM d yyyy"];
NSString *theDate = [dateFormat stringFromDate:dateFromString];
labelDate.text = theDate;
// The Time
NSDate *currentTime = [NSDate date];
[dateFormatter setDateFormat:@"hh-mm"];
NSString *resultString = [dateFormatter stringFromDate: currentTime];
labelTime.text = resultString;