我正在尝试使用日期获取日期和时间,但是当我运行应用程序时,第一次执行的应用程序时间和日期在短时间内不会更改。
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];
答案 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"];