每天使用新文本更新标签

时间:2013-06-27 08:23:23

标签: nsdate nsdatecomponents

我有一个标签,我想每天更新并自动更新?在某个特定的时间。代码怎么可能..我已经搜索过每天如何更新标签的地方。

NSdate和NStimer标签正常工作。如果用户想要查看前进事件,还可以使用datepicker。

我认为这是有效的,'如果'日期是..}其他{......和类似的东西

由于

编辑:

如果我的应用中已经有这些代码,那么就会出现问题

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];


NSDate *nowDate = [NSDate date];

self.currentDateLabel.text = [dateFormatter stringFromDate:nowDate];

1 个答案:

答案 0 :(得分:0)

尝试使用此代码进行日期之间的任何比较...您不应该以字符串的形式比较日期。将转换前的日期与字符串进行比较。使用格式化程序的dateFromString函数将self.serverDate转换为日期格式,方法是将日期格式指定为dateString的日期格式。然后使用以下函数比较日期。

-(void) callAfterSixtySecond:(NSTimer*) t 
{

NSDate *today = [NSDate date]; // current date
NSDate *newDate = self.serverDate; // other date 

NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"HH:mm"];
NSDate *todayTime = [formatter dateFromString:[formatter stringFromDate:today]];
NSDate *requiredTime = [formatter dateFromString:[formatter stringFromDate:newDate]];

NSComparisonResult result; 

result = [todayTime compare:requiredTime ]; // comparing two dates

if(result == NSOrderedAscending)
    NSLog(@"today is less");
else if(result == NSOrderedDescending)
    NSLog(@"newDate is less");
else if(result == NSOrderedSame)
    NSLog(@"Both dates are same");  // time has reached. Update Label using setText method of label
else
    NSLog(@"Date cannot be compared");
}

您需要每分钟使用NSTimer ...

运行此方法
NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval: 60.0 target: self
                                   selector: @selector(callAfterSixtySecond:) userInfo: nil repeats: YES];