iOS 获取时间及常用方法

1、获取当前时间

  • YYYY(年)/MM(月)/dd(日) hh(时):mm(分):ss(秒) SS(毫秒)
    如果想显示两位数的年份的话,可以用”YY/MM/dd hh:mm:ss SS”,两个Y代表两位数的年份。而且大写的M和小写的m代表的意思也不一样。“M”代表月份,“m”代码分钟“HH”代表24小时制,“hh”代表12小时制
NSDate *currentDate = [NSDate date];//获取当前时间,日期
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY/MM/dd hh:mm:ss SS"];//设置格式
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];//设置时区
NSString *dateString = [dateFormatter stringFromDate:currentDate];
NSLog(@"dateString:%@",dateString);

2、日期之间比较可用以下方法

  • 与otherDate比较,相同返回YES
-(BOOL)isEqualToDate:(NSDate *)otherDate;

  • 与anotherDate比较,返回较早的那个日期
-(NSDate *)earlierDate:(NSDate *)anotherDate;

  • 与anotherDate比较,返回较晚的那个日期
-(NSDate *)laterDate:(NSDate *)anotherDate;

  • 该方法用于排序时调用:
    . 当实例保存的日期值与anotherDate相同时返回NSOrderedSame
    . 当实例保存的日期值晚于anotherDate时返回NSOrderedDescending
    . 当实例保存的日期值早于anotherDate时返回NSOrderedAscending
-(NSComparisonResult)compare:(NSDate *)other;

3、常用方法

  • 返回当前时间
+(id)date;

  • 返回以当前时间为基准,然后过了secs秒的时间
+(id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs; 

  • 返回以2001/01/01 GMT为基准,然后过了secs秒的时间
+(id)dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)secs;

  • 返回以1970/01/01 GMT为基准,然后过了secs秒的时间
+(id)dateWithTimeIntervalSince1970:(NSTimeInterval)secs;//可用于转化时间戳

  • 返回以目前的实例中保存的时间为基准,然后过了secs秒的时间
-(id)addTimeInterval:(NSTimeInterval)secs;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容