IOS 时间一些笔记
来源:互联网 发布:ab压力测试nginx 编辑:程序博客网 时间:2024/05/16 09:29
。h
//// TimeOperation.h// gtg1.0//// Created by linpeng on 14-2-28.// Copyright (c) 2014年 lijx. All rights reserved.//#import <Foundation/Foundation.h>@interface TimeOperation : NSObject#pragma mark 距离当前时间 返回距离当前 是多少天前/后+(NSString *)RemainingCarlend:(NSString *)startTime;#pragma mark 距离当前时间 返回距离当前 多少时间+(NSString *)RemainingTime:(NSString *)startTime;#pragma mark 距离当前时间 返回距离当前 多少时间 2014-02-28 11:12:13 return 11:12+(NSString *)SubCurrentTime:(NSString *)currenTime;#pragma mark - 字符串转时间+(NSDate *) stringToDate:(NSString *)dateStr;#pragma mark - 时间转字符串+(NSString *) dateToString:(NSDate *)date vFormate:(NSString *)formate;#pragma mark - 获取两个时间差+(NSInteger)daysWithinEraFromDate:(NSDate *) startDate toDate:(NSDate *) endDate;#pragma mark - 获取两个时间差+(NSInteger)daysWithinEraFromString:(NSString *) startDate toDate:(NSString *) endDate;#pragma mark - 获取两个时间差+(float)hoursWithinEraFromDate:(NSDate *) startDate toDate:(NSDate *) endDate;#pragma mark - 获取两个时间差+(float)hoursWithinEraFromString:(NSString *) startDate toDate:(NSString *) endDate;#pragma mark - 时间戳转字符串时间+(NSString *)TimeStampChangeToStr:(NSString *)date;#pragma mark - 时间戳转字符串时间(对应格式)+(NSString *)TimeStampChangeToStrWithFormate:(NSString *)date vFormate:(NSString *)formate;@end
。m
//// TimeOperation.m// gtg1.0//// Created by linpeng on 14-2-28.// Copyright (c) 2014年 lijx. All rights reserved.//#import "TimeOperation.h"@implementation TimeOperation#pragma mark 距离当前时间 返回距离当前 多少时间 2014-02-28 11:12:13 return 11:12+(NSString *)SubCurrentTime:(NSString *)currenTime{ @try { return [currenTime substringWithRange:NSMakeRange(11, 5)]; } @catch (NSException *exception) { return @"未定义"; } }#pragma mark 距离当前时间 返回距离当前 多少时间+(NSString *)RemainingTime:(NSString *)startTime{ NSDate *now=[NSDate date]; NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init]; //默认转换为本时区时间 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //设置日期的格式及时间 NSString *str=[dateFormatter stringFromDate:now];//将NSDate转化为string NSString *dateContent; //创建了两个日期对象 NSDate *date1=[dateFormatter dateFromString:startTime]; NSDate *date2=[dateFormatter dateFromString:str]; NSTimeInterval time=[date1 timeIntervalSinceDate:date2]; if(time<0) { dateContent = @"结束"; return dateContent; } if (time/3600.0<1) { dateContent = [NSString stringWithFormat:@"%f", time/60]; dateContent = [dateContent substringToIndex:dateContent.length-7]; dateContent=[NSString stringWithFormat:@"%@分钟后", dateContent]; } if (time/3600.0>1&&time/86400.0<1) { dateContent = [NSString stringWithFormat:@"%f", time/3600]; dateContent = [dateContent substringToIndex:dateContent.length-7]; dateContent=[NSString stringWithFormat:@"%@小时后", dateContent]; } if (time/86400.0>1) { dateContent = [NSString stringWithFormat:@"%f", time/86400]; dateContent = [dateContent substringToIndex:dateContent.length-7]; dateContent=[NSString stringWithFormat:@"%@天", dateContent]; } return dateContent;}#pragma mark 距离当前时间 返回距离当前 是多少天前/后+(NSString *)RemainingCarlend:(NSString *)startTime{ NSDate *now=[NSDate date]; NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init]; //默认转换为本时区时间 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //设置日期的格式及时间 NSString *str=[dateFormatter stringFromDate:now];//将NSDate转化为string NSString *dateContent; //创建了两个日期对象 NSDate *date1=[dateFormatter dateFromString:startTime]; NSDate *date2=[dateFormatter dateFromString:str]; NSTimeInterval time=[date1 timeIntervalSinceDate:date2]; int days =time/86400; if(days>=0) { if (time/3600>1&&time/86400<1)//不超过24小时的 标注未明天 { return @"明天"; } switch (days) { case 0: dateContent=@"今天"; break; case 1: dateContent=@"明天"; break; case 2: dateContent=@"后天"; break; default: dateContent=[NSString stringWithFormat:@"%d天后",days]; break; } } else { switch (days) { default: dateContent=[NSString stringWithFormat:@"%d天前",0-days]; break; } } return dateContent; }#pragma mark - 获取两个时间差 天+(NSInteger)daysWithinEraFromDate:(NSDate *) startDate toDate:(NSDate *) endDate{ NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; unsigned int unitFlags = NSDayCalendarUnit; NSDateComponents *comps = [gregorian components:unitFlags fromDate:startDate toDate:endDate options:0]; int days = [comps day]; return days;}#pragma mark - 字符串转时间+(NSDate *) stringToDate:(NSString *)dateStr{ NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSDate *date = [dateFormatter dateFromString:dateStr]; return date;}#pragma mark - 时间转字符串+(NSString *) dateToString:(NSDate *)date vFormate:(NSString *)formate{ //实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:formate]; //用[NSDate date]可以获取系统当前时间 return [dateFormatter stringFromDate:date];}#pragma mark - 获取两个时间差 天+(NSInteger)daysWithinEraFromString:(NSString *) startDate toDate:(NSString *) endDate;{ NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; unsigned int unitFlags = NSDayCalendarUnit; NSDateComponents *comps = [gregorian components:unitFlags fromDate:[self stringToDate:startDate] toDate:[self stringToDate:endDate] options:0]; int days = [comps day]; return days;}#pragma mark - 获取两个时间差 小时+(float)hoursWithinEraFromString:(NSString *) startDate toDate:(NSString *) endDate;{ NSDateFormatter *dateFormatter=[[NSDateFormatter alloc]init]; //默认转换为本时区时间 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //设置日期的格式及时间 NSDate *date1=[dateFormatter dateFromString:startDate]; NSDate *date2=[dateFormatter dateFromString:endDate]; NSTimeInterval time=[date2 timeIntervalSinceDate:date1]; float hours = time/3600.0; return hours;}#pragma mark - 获取两个时间差 小时+(float)hoursWithinEraFromDate:(NSDate *) startDate toDate:(NSDate *) endDate{ NSTimeInterval time=[endDate timeIntervalSinceDate:startDate]; float hours = time/3600.0; return hours;}#pragma mark - 时间戳转字符串时间+(NSString *)TimeStampChangeToStr:(NSString *)date{ if (![date isKindOfClass:[NSString class]]) { date = [NSString stringWithFormat:@"%@", date]; } NSLog(@"%d",date.length); NSString *lastActTime = @"暂无"; if (date&&date.length>=13) { long long data = [date longLongValue]/1000; NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:data]; //实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //用[NSDate date]可以获取系统当前时间 lastActTime = [dateFormatter stringFromDate:confromTimesp]; }else { NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:[date longLongValue]]; //实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //用[NSDate date]可以获取系统当前时间 lastActTime = [dateFormatter stringFromDate:confromTimesp]; } return lastActTime;}#pragma mark - 时间戳转字符串时间(对应格式)+(NSString *)TimeStampChangeToStrWithFormate:(NSString *)date vFormate:(NSString *)formate{ if (![date isKindOfClass:[NSString class]]) { date = [NSString stringWithFormat:@"%@", date]; } NSLog(@"%d",date.length); NSString *lastActTime = @"暂无"; if (date&&date.length>=13) { long long data = [date longLongValue]/1000; NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:data]; //实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:formate]; //用[NSDate date]可以获取系统当前时间 lastActTime = [dateFormatter stringFromDate:confromTimesp]; }else { NSDate *confromTimesp = [NSDate dateWithTimeIntervalSince1970:[date longLongValue]]; //实例化一个NSDateFormatter对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //设定时间格式,这里可以设置成自己需要的格式 [dateFormatter setDateFormat:formate]; //用[NSDate date]可以获取系统当前时间 lastActTime = [dateFormatter stringFromDate:confromTimesp]; } return lastActTime;}@end
0 0
- IOS 时间一些笔记
- iOS 一些笔记
- 初学ios的一些笔记
- 初学ios的一些笔记
- iOS 一些常用的笔记
- iOS 学习笔记18 时间比较
- 学习笔记--获取ios当前时间
- 【代码笔记】iOS-获得现在的时间
- 【代码笔记】iOS-时间选择框
- 【代码笔记】iOS-提醒时间的选择
- 【代码笔记】iOS-和当前时间比较
- iOS学习笔记 时间和日期计算
- 【代码笔记】iOS-获得现在的时间
- IOS开发中一些重要提示笔记
- IOS笔记:地图的一些东西
- IOS开发的一些技巧以及笔记
- iOS笔记(常用的一些知识点)
- iOS画图的一些笔记CGContextRef
- Unity GameObject.activeSelf, GameObject.activeInHierarchy,GameObject.SetActive和SetActiveRecursively
- Windows系统错误代码大全(三)
- 陌上相逢,拾取馨暖
- Oracle BUFFER CACHE研究
- struts2 的s:param标签中文乱码
- IOS 时间一些笔记
- ACM进阶计划
- 静态变量 之局部静态变量测试
- 4、硬件(MAC)地址的概念及作用
- 手机号码和电话号码的正则表达式
- 经典算法面试题一览
- vi/vim 基本使用方法
- android颜色大全
- 小纸条技术支持