nstimeinterval

时间:2026-05-21 06:48:18编辑:莆田seo君

ios nstimeinterval 是以秒为单位吗

想在程序开始或者进入某个界面 ,到结束程序或退出某个界面,获取到这个持续时间. 获取到这个时间还需要转化一个取得时分秒.-(NSString *)getCurrentTime{NSDateFormatter *formatter = [[NSDateFormatter alloc] init];[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];NSString *dateTime = [formatter stringFromDate:[NSDate date]];self.startTime = dateTime;return startTime;}date1代表开始时间,在开始计时的地方调用 [self getCurrentTime]; 在结束时的方法里写如下代码:NSDateFormatter *formatter = [[NSDateFormatter alloc] init];[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];NSDate *date1 = [formatter dateFromString:startTime];NSDate *date2 = [NSDate date];NSTimeInterval aTimer = [date2 timeIntervalSinceDate:date1];int hour = (int)(aTimer/3600);int minute = (int)(aTimer - hour*3600)/60;int second = aTimer - hour*3600 - minute*60;NSString *dural = [NSString stringWithFormat:@"%d时%d分%d秒", hour, minute,second];编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,是计算体系按照该计算方式运行,并最终得到相应结果的过程。为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。

IOS中关于NSTimer使用知多少

创建一个 Timer

+ scheduledTimerWithTimeInterval: invocation: repeats:
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo;


+ scheduledTimerWithTimeInterval: target: selector: userInfo: repeats:
+
(NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti
target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo
repeats:(BOOL)yesOrNo;
创建返回一个新的NSTimer对象和时间表,在当前的默认模式下循环调用一个实例方法。

+ timerWithTimeInterval: invocation: repeats:
+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo;

+ timerWithTimeInterval: target:selector: userInfo:repeats:
+
(NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget
selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;

– initWithFireDate: interval: target: selector: userInfo: repeats:
-
(id)initWithFireDate:(NSDate *)date interval:(NSTimeInterval)ti
target:(id)t selector:(SEL)s userInfo:(id)ui repeats:(BOOL)rep;

scheduledTimerWithTimeInterval:(NSTimeInterval)seconds

预订一个Timer,设置一个时间间隔。

表示输入一个时间间隔对象,以秒为单位,一个>0的浮点类型的值,如果该值<0,系统会默认为0.1

target:(id)aTarget

表示发送的对象,如self

selector:(SEL)aSelector

方法选择器,在时间间隔内,选择调用一个实例方法

userInfo:(id)userInfo

此参数可以为nil,当定时器失效时,由你指定的对象保留和释放该定时器。

repeats:(BOOL)yesOrNo

当YES时,定时器会不断循环直至失效或被释放,当NO时,定时器会循环发送一次就失效。

invocation:(NSInvocation *)invocation

启动 Timer

– fire

停止 Timer

– invalidate

Timer设置

– isValid
– fireDate
– setFireDate:
– timeInterval
– userInfo



NSTimeInterval类:是一个浮点数字,用来定义秒




例子:

iphone为我们提供了一个很强大得时间定时器 NSTimer

他可以完成任何定时功能:

我们使用起来也很简单,只要记住三要素就可以,具体得三要素是:时间间隔NSTimeInterval浮点型,事件代理

delegate和事件处理方法@selector();就可以用

+
(NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti
target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo
repeats:(BOOL)yesOrNo; 来初始化一个 时间定时器

下面我写了一个很简单得例子

初始化一个定时器:

-(void)initTimer

{

//时间间隔

NSTimeInterval timeInterval =1.0 ;

//定时器

NSTimer showTimer = [NSTimer scheduledTimerWithTimeInterval:maxShowTime

target:self

selector:@selector(handleMaxShowTimer:)

userInfo:nil

repeats:NO];

}

//触发事件

-(void)handleMaxShowTimer:(NSTimer *)theTimer

{

NSDateFormatter dateFormator = [[NSDateFormatter alloc] init];

dateFormator.dateFormat = @"yyyy-MM-dd HH:mm:ss";

NSString *date = [dateformater stringFromDate:[NSDate date]];

if([date isEqualToString:@"2011-11-09 23:59:59"])

{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:TITLE_NAME

message:@"现在马上就有新的一天了!"

delegate:self

ancelButtonTitle:nil

otherButtonTitles:CONFIRM_TITLE, nil];

[alert show];

[alert release];

}

[data release];

[dateFormator release];

}

另外附一个例子:方框赛跑

-(void)viewDidLoad

{



[super viewDidLoad];

CGRect workingFrame;



workingFrame.origin.x = 15;

workingFrame.origin.y = 400;

workingFrame.size.width = 40;

workingFrame.size.height = 40;



for(int i = 0; i < 6; i++)

{

UIView *myView = [[UIView alloc] initWithFrame:workingFrame];

[myView setTag:i];//标记方块

[myView setBackgroundColor:[UIColor blueColor]];



workingFrame.origin.x = workingFrame.origin.x + workingFrame.size.width + 10;

[self.view addSubview:myView];

}

}


如何将 NSTimeInterval 转换为 int

直接赋值:NSTimeInterval interval = 1002343.5432542;NSInteger time = interval;//time is now equal to 1002343NSTimeInterval 是双重的所以如果你将它分配直接给 NSInteger (或 int,如果你愿意的话) 它会工作。这将切断时间精确到秒。如果你想要舍入到最接近的秒 (而不能切断) 你可以使用圆才使分配:NSTimeInterval interval = 1002343.5432542;NSInteger time = round(interval);


上一篇:流程管理咨询

下一篇:没有了