iOS - 时间日期
NSDate时间->GTM(国际标准时间)
NSTimeInterval时间间隔单位是秒
NSDateFormatter时间格式器
#pragma mark---1、NSDate初始化---
NSDate *date = [NSDate date];//当前时间
#pragma mark---NSTimeInterval---
NSTimeIntervalinterval =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]];
计算两个日期差多少小时多少分多少秒
inth = timeInterger/(60*60);
intremainTimeInterger = abs(((int)timeInterger)%(60*60));
ints = remainTimeInterger/60;
intm = remainTimeInterger%60;
取绝对值的方法:不区分正负号(无符号)
abs(int)
fabs(double)
fabsf(float)
2、可以获得时间戳(1970-现在)
日期转时间戳
NSString *timeStamp =[NSString stringWithFormat:@"%d",(int)[NSDate date].timeIntervalSince1970];
两个日期之间的比较
(1)、时间戳转成日期
NSDate *one = [NSDatedateWithTimeIntervalSince1970:1451047216];
NSDate*other = [NSDatedateWithTimeIntervalSince1970: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)Number0
h
am/pm中的小时数(1-12)Number12
m小时中的分钟数Number30
s分钟中的秒数Number55
S毫秒数Number978
z时区General time zone Pacific Standard Time; PST; GMT-08:00
Z时区RFC822time 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];