UI(十八)时间日期

#pragma mark---本章简介(三个类、转换)---

NSDate 时间 ->GTM(国际标准时间)

NSTimeInterval 时间间隔 单位是秒

NSDateFormatter 时间格式器


#pragma mark---1、NSDate 初始化---

NSDate *date = [NSDate date];//当前时间

#pragma mark---NSTimeInterval---

NSTimeInterval interval = 60*60*8;

dateWithTimeIntervalSinceNow 从现在开始过了多少秒的时间 过去的时间是(-) 未来的时间是(+)

NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow:interval];

#pragma mark---*时间戳*---

时间戳:从1970年到现在的 一个时间间隔(字符串) 可以表示一个唯一的时间标识 eg:1452044020 字符串

**重要的初始化方式 

*dateWithTimeIntervalSince1970

NSDate *date3 = [NSDate dateWithTimeIntervalSince1970:1452044020];

#pragma mark-日期转时间间隔-

1、可以获得两个日期之间的时间间隔 *timeIntervalSinceDate:(NSDate *)

NSTimeInterval timeInterger = [date3 timeIntervalSinceDate:[NSDate date]];

计算 两个日期差多少小时 多少分 多少秒

int h = timeInterger/(60*60);

int remainTimeInterger = abs(((int)timeInterger)%(60*60));

int s = remainTimeInterger/60;

int m = remainTimeInterger%60;

取绝对值的方法:不区分正负号(无符号)

abs(int)

fabs(double)

fabsf(float)


2、可以获得时间戳(1970-现在)

日期转时间戳

NSString *timeStamp = [NSString stringWithFormat:@"%d",(int)[NSDate date].timeIntervalSince1970];

两个日期之间的比较

(1)、时间戳转成日期

NSDate *one = [NSDate dateWithTimeIntervalSince1970:1451047216];

NSDate *other = [NSDate dateWithTimeIntervalSince1970:1451847216];

(2)、开始比较

earlierDate: 比较one是不是比other早 会返回一个比较早的日期

laterDate: 比较晚

isEqualToDate:比较两个日期是否相同 ->返回BOOL

#pragma mark---NSDateFormatter 时间格式器---

NSDateFormatter 把日期转换成需要的格式

格式化日期的格式用字符串表示

@"yyyy-MM-dd HH:mm:ss"

@"2016-01-06 11:06:30"

作用:

1、可以把日期转换成字符串(指定格式)

2、字符串(指定格式)转换成日期

3、****会把GTM时间转成标准系统时间

日期格式如下:

y 年

M 年中的月份

D 当天是今年的第多少天

d 月份中的天数

F 月份中的周数

E 星期几

a  Am/pm

H 一天中的小时数(0-23)

k 一天中的小时数(1-24)

K  am/pm 中的小时数(0-11)Number 0

h  am/pm 中的小时数(1-12)Number 12

m 小时中的分钟数Number 30

s 分钟中的秒数Number 55

S 毫秒数Number 978

z 时区  General time zone  Pacific Standard Time; PST; GMT-08:00

Z 时区RFC 822 time zone  -0800

大写M表示月 小写m表示分

大写H表示24小时制 小写h表示12小时制

大写S表示毫秒 小写的s表示秒


初始化

NSDateFormatter *formatter = [[NSDateFormatter alloc]init];

****格式属性

formatter.dateFormat = @"yyyy年MM月dd日HH:mm:ss";

1、把日期转成字符串

NSString *dateString = [formatter stringFromDate:[NSDate date]];

2、把字符串转换成日期

NSDate *date = [formatter dateFromString:dateString];

你可能感兴趣的:(UI(十八)时间日期)