gpt4 book ai didi

objective-c - 如何从 NSDate 倒计时并以小时和分钟显示

转载 作者:可可西里 更新时间:2023-11-01 05:04:44 25 4
gpt4 key购买 nike

我正在尝试从 NSDate 倒计时并以小时和分钟显示它。像这样:1 小时 18 分钟

目前我的日期正在更新为 UILabel 并倒计时但显示如下:

timer countdown label

这是我正在使用的代码。一个 startTimer 方法和一个 updateLabel 方法

 - (void)startTimer {
// Set the date you want to count from

// convert date string to date then set to a label
NSDateFormatter *dateStringParser = [[NSDateFormatter alloc] init];
[dateStringParser setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.000Z"];

NSDate *date = [dateStringParser dateFromString:deadlineDate];

NSDateFormatter *labelFormatter = [[NSDateFormatter alloc] init];
[labelFormatter setDateFormat:@"HH-dd-MM-yyyy"];

NSDate *countdownDate = [[NSDate alloc] init];

countdownDate = date;

// Create a timer that fires every second repeatedly and save it in an ivar
NSTimer *timer = [[NSTimer alloc] init];

timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateLabel) userInfo:nil repeats:YES];

}

- (void)updateLabel {

// convert date string to date then set to a label
NSDateFormatter *dateStringParser = [[NSDateFormatter alloc] init];
[dateStringParser setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.000Z"];

NSDate *date = [dateStringParser dateFromString:deadlineDate];

NSDateFormatter *labelFormatter = [[NSDateFormatter alloc] init];
[labelFormatter setDateFormat:@"HH-dd-MM"];


NSTimeInterval timeInterval = [date timeIntervalSinceNow]; ///< Assuming this is in the future for now.


self.deadlineLbl.text = [NSString stringWithFormat:@"%f", timeInterval];
}

谢谢你的帮助

最佳答案

- (NSString *)stringFromTimeInterval:(NSTimeInterval)interval 
{
NSInteger ti = (NSInteger)interval;
NSInteger seconds = ti % 60;
NSInteger minutes = (ti / 60) % 60;
NSInteger hours = (ti / 3600);
return [NSString stringWithFormat:@"%02i:%02i:%02i", hours, minutes, seconds];
}

关于objective-c - 如何从 NSDate 倒计时并以小时和分钟显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13360442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com