将当前时间放入标签中

时间:2011-01-18 18:43:42

标签: iphone objective-c datetime

我正在尝试使用日期获取日期和时间,但是当我运行应用程序时,第一次执行的应用程序时间和日期在短时间内不会更改。

NSDate *StrDate = [NSDate date];
        NSDateFormatter *Dateformat = [[NSDateFormatter alloc]init];
        [Dateformat setDateFormat:@"DD-MM-YYYY"];
        NSMutableString *DateStr = [Dateformat stringFromDate:StrDate];
        [UserCntrl.timeDisplay setText:DateStr];
        [Dateformat setDateFormat:@"HH:MM"];
        NSMutableString *timeStr=[Dateformat stringFromDate:StrDate];

3 个答案:

答案 0 :(得分:4)

在你的uiview中显示预定的计时器(显示加载)方法:

[NSTimer scheduledTimerWithTimeInterval:1.0f // 1 second
    target:self
    selector:@selector(updateTime:) 
    userInfo:nil
    repeats:YES];

然后,将此方法放在View Controller中:

- (void) updateTime:(id)sender
{
    NSDate *StrDate = [NSDate date];
        NSDateFormatter *Dateformat = [[NSDateFormatter alloc]init];
        [Dateformat setDateFormat:@"DD-MM-YYYY HH:mm:SS"];
        NSMutableString *DateStr = [Dateformat stringFromDate:StrDate];
        [UserCntrl.timeDisplay setText:DateStr]; // or whatever code updates your timer.  I didn't check this for bugs.
}

这将每秒调用一次“updateTime:”方法,更新你的控制器。

答案 1 :(得分:0)

[NSDate date]生成您调用它的日期对象。您必须再次调用它来更新日期。换句话说,你必须做StrDate = [NSDate date];只要你想在方法中获得当前日期。

答案 2 :(得分:0)

您的代码中存在错误: 代替 [Dateformat setDateFormat:@"HH:MM"]; 它应该是 [Dateformat setTimeFormat:@"HH:MM"];