`
lizhuang
  • 浏览: 903741 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

NSTimeInterval的使用

 
阅读更多
第一种方式:
NSTimeInterval time = ...;
NSString *string = [NSString stringWithFormat:@"%02li:%02li:%02li",
                                              lround(floor(time / 3600.)) % 100,
                                              lround(floor(time / 60.)) % 60,
                                              lround(floor(time.)) % 60];

第二种方式:
// You could also have stored the start time using
    // CFAbsoluteTimeGetCurrent()
    NSTimeInterval elapsedTime = [startDate timeIntervalSinceNow];

    // Divide the interval by 3600 and keep the quotient and remainder
    div_t h = div(elapsedTime, 3600);
    int hours = h.quot;
    // Divide the remainder by 60; the quotient is minutes, the remainder
    // is seconds.
    div_t m = div(h.rem, 60);
    int minutes = m.quot;
    int seconds = m.rem;

    // If you want to get the individual digits of the units, use div again
    // with a divisor of 10.

    NSLog(@"%d:%d:%d", hours, minutes, seconds)

如果您有您初始日期存储在 NSDate 对象时,您可以获得新日期任何时间间隔在未来。只需使用 dateByAddingTimeInterval: 像这样:

NSDate * originalDate = [NSDate date];
NSTimeInterval interval = 1;
NSDate * futureDate = [originalDate dateByAddingTimeInterval:interval];

ios获取自1970年以来的毫秒数同java的System.currentTimeMillis()

+ (NSString*)generateTimeIntervalWithTimeZone
{
    NSMutableString *result = [[NSMutableString alloc] init];
    NSDate *date = [NSDate date];
    NSTimeInterval time = [date timeIntervalSince1970]*1000;//毫秒数要乘以1000
    double i=time;      //NSTimeInterval返回的是double类型
    
    
    NSDateFormatter *format = [[NSDateFormatter alloc] init];
    [format setDateFormat:@"Z"];
    NSString *timeZone = [format stringFromDate:date];
    NSString *timeIntervalStr = [NSString stringWithFormat:@"%.f", i];
    
    [result appendString:timeIntervalStr];
    [result appendString:timeZone];
    
    return result;
}
分享到:
评论

相关推荐

    iOS时间戳字符串NSDate转化demo.zip

    在iOS中,你可以使用`+[NSTimeInterval since1970]`来获取当前时间的时间戳,它返回一个`NSTimeInterval`类型的值,这个类型实际上是双精度浮点数,表示秒数。 将时间戳转换为NSDate,可以使用`-[NSDate ...

    iOS NSDate资料

    本文将详细介绍`NSDate`类的常用功能及其使用方法。 #### 二、创建和初始化`NSDate`对象 ##### 1. 创建`NSDate`实例 通过`NSDate`提供的类方法可以轻松地创建出不同类型的日期对象。 - `+ (id)date;`:创建一个...

    UIAnimation:使用UIView组件轻松实现动画

    UIAnimation 此类提供了使用UIView组件轻松实现动画的方法与SpriteKit的SKAction的SKNode , UIAnimation表示可以在UIView上运行的动作。 有了它,您可以移动,旋转和创建动作和块序列。 可以存储动画并在多个视图中...

    OC-sleepForTimeInterval

    4. **替代方案**:如果你需要更精确的定时任务,或者希望在时间间隔结束后执行特定操作,可以考虑使用`NSTimer`或者GCD(Grand Central Dispatch)的`dispatch_after`。这些机制允许你在指定的时间后执行一个回调,...

    iOS开发编程规范.pdf

    - 局部常量使用`static const`修饰,并以`k`开头,如`static const NSTimeInterval kAnimationDuration = 0.3`。 - 外部可见的常量以类名开头并用`extern`声明,如`extern const NSTimeInterval ...

    ios动画简单使用

    本文将详细介绍如何在iOS中简单使用动画,特别是`UIViewAnimation`和`CABasicAnimation`的区别以及`UIViewAnimation`的基本使用方法。 首先,我们要理解`UIViewAnimation`和`CABasicAnimation`的区别。`...

    ios-UIView类别方法添加系统动画,只需一句话。.zip

    .zip"的资源提供了一个简单的方法来实现这一目标,通过扩展UIView类,开发者可以方便地使用一行代码调用各种系统内置的动画。 首先,我们要理解什么是类别(Category)。在Objective-C中,类别是一种强大的工具,它...

    ios-个人为MB框架添加了一些show的类方法, 很好用.zip

    为了使用方便 用类方法也可以调用隐藏方法 就添加了一个类方法改了一点底层 (void)hideAnimated:(BOOL)animated afterDelay:(NSTimeInterval)delay; (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)...

    ios获取视频长度和当前播放时间

    以下将详细介绍如何在iOS中实现这一功能,包括使用的框架、具体步骤以及代码示例。 ### 使用的框架 为了获取视频的长度和播放时间,我们需要使用`AVFoundation`框架,这是一个强大的多媒体处理框架,提供了音频和...

    黑马iOS入学面试知识点全总结

    - 日期与时间:使用NSDate、NSCalendar、NSTimeInterval等处理日期和时间。 - 错误处理:理解NSError对象及其在异常情况下的应用。 4. iOS开发实战: - 视图与控制器:学习UIView、UIViewController及其子类的...

    iOS使用Masonry时进行动画操作方法

    #(NSTimeInterval)#> animations:<#^(void)animations#>的方法就可以实现。那么重点是修改约束以及动画的生效方面。 修改约束 修改约束有两种方式 方法1 第一种是直接使用 [控件 mas_updateConstraints:

    iOS 倒计时功能

    在iOS中,我们通常使用Foundation框架中的`NSDate`, `NSTimeInterval`, `NSCalendar`, `NSDateComponents`等类来处理日期和时间。倒计时的核心是计算两个日期之间的差值,并将这个差值转化为秒数进行更新。 1. **...

    突破ObjectiveC开发速学手册之时间日期处理PPT学习教案.pptx

    - `[NSDate alloc] init]`:这会创建一个新的 `NSDate` 实例,但通常不会直接使用,因为通常需要表示特定的日期和时间。 2. **获取当前日期** 要获取当前日期,只需调用 `[NSDate date]`,它将返回一个表示当前...

    nsdate

    ### `NSDate`的基本使用 1. **创建日期对象**: - 使用`+date`方法可以创建当前时间的`NSDate`对象。 - 可以通过传入一个`NSTimeInterval`(double类型的时间戳)来创建特定时间的`NSDate`。 ```objc NSDate *...

    多年iOS开发经验总结

    关于NSDate对象,当需要计算两个日期之间相隔多少小时时,会用到NSDate的timeIntervalSinceDate方法,它返回一个NSTimeInterval类型(即double类型)的值,表示两个日期相隔的秒数。接着通过除以3600(秒数转换为...

    ios-时分秒倒计时.zip

    在iOS开发中,可以使用`NSDate`、`NSTimeInterval`以及`NSCalendar`等类来处理日期和时间。 2. **使用Swift实现倒计时** - **初始化时间**: 首先,你需要设定开始时间和结束时间,这两个时间通常用`NSDate`对象...

    IOS应用源码——timer.rar

    - 创建NSTimer:你可以使用`+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval target:(id)target selector:(SEL)aSelector userInfo:(nullable id)userInfo repeats:(BOOL)repeats`方法来...

    OC- GCD延时-示例代码

    可以使用` DISPATCH_TIME_NOW`表示立即执行,或者使用`dispatch_walltime`结合`NSTimeInterval`来设定延迟时间。 - `queue`:指定任务将在哪个队列上执行,可以是主队列、全局队列或自定义队列。 - `block`:要...

    已封装的轮播图可直接怂恿

    标题“已封装的轮播图可直接使用”表明这是一个已经完成的轮播图组件,可以直接集成到你的iOS项目中。描述中提到,只需将类文件拖入工程,导入对应的头文件,然后初始化并设置参数,即可实现轮播功能。 在iOS开发中...

    IOS 64 位编程建议以及静态库支持armv7s

    为了避免这类问题,应使用iOS SDK提供的类型,如`NSInteger`、`NSUInteger`、`CGFloat`和`NSTimeInterval`,它们会根据目标架构自动调整大小。避免使用`sizeof`来依赖特定的字节数,因为这可能导致意外的行为。 2. ...

Global site tag (gtag.js) - Google Analytics