nsdate学习
来源:互联网 发布:retas for mac 下载 编辑:程序博客网 时间:2024/06/15 00:22
OC NSDATE类用法
/*
G 年代标志符
y 年
M 月
d 日
h 时 在上午或下午 (1~12)
H 时 在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第几天
F 一月中第几个星期几
w 一年中第几个星期
W 一月中第几个星期
a 上午 / 下午 标记符
k 时 在一天中 (1~24)
K 时 在上午或下午 (0~11)
z 时区
*/
//获取距离当前时间n秒以后的时间
NSDate *d2 = [NSDate dateWithTimeIntervalSinceNow:3600];
//获取距离指定日期,n秒后(之前)的日期
NSDate *d3 = [NSDate dateWithTimeInterval:3600*2 sinceDate:[NSDate date]];
//获取距离2001-01-01,n秒后(之前)的日期
NSDate *d4 = [NSDate dateWithTimeIntervalSinceReferenceDate:3600];
//获取距离1970-01-01,n秒后(之前)的日期
NSDate *d5 = [NSDate dateWithTimeIntervalSince1970:3600];
//获取两个Date对象之间的时间间隔
NSTimeInterval t1 = [d3 timeIntervalSinceNow];
//跟2001-01-01比较
NSTimeInterval t2 = [nowDate timeIntervalSinceReferenceDate];
//跟1970-01-01比较
NSTimeInterval t3 = [nowDate timeIntervalSince1970];
//计算当前时间和一个固定时间的差值,如果差值在60秒内,输出“刚刚”,如果在60秒外3600秒内,输出“xx分钟前”,如果3600秒外,3600*24秒内,输出“xx小时前”(随机获得0-255的数)
//随机创建一个date对象
NSDate *randomDate = [NSDate dateWithTimeIntervalSinceNow:arc4random()%(3600*24)];
//获取randomDate和当前时间的时间差
NSTimeInterval time = [randomDate timeIntervalSinceNow];
NSLog(@"%f",time);
if(time <60){
NSLog(@"刚刚");
}else if (time<3600){
int minute = time/60;
NSLog(@"%d分钟前",minute);
}else if (time<3600*24){
int hour = time/3600;
NSLog(@"%d小时前",hour);
}
//功能: 将NSdate转变为表示时间的NSString
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];NSDate *date = [NSDate dateWithTimeIntervalSinceNow:3600*2];
//设置格式,表示方式:年yyyy 月:MM 日:dd 小时:hh 分钟:mm 秒:ss
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss MMM eee a"];//上午
[formatter setAMSymbol:@"AM"];
//下午
[formatter setPMSymbol:@"PM"];
NSString * strdate = [formatter stringFromDate:date];
//第二个功能 :将表示时间的NSString转换问哦对应的NSdate对象
NSDateFormatter * formatter1 = [[NSDateFormatter alloc]init];
NSString *str = @"2013-12-10 10:30:00";[formatter1 setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate * date2 = [formatter1 dateFromString:str];
//2014年05月01日 10点23分18秒
NSDateFormatter * formatter2 = [[NSDateFormatter alloc]init];
NSString * nstr =@"2014年05月01日 10点23分18秒";
[formatter2 setDateFormat:@"yyyy年MM月dd日 hh点mm分ss秒"];
NSDate * date3 = [formatter2 dateFromString:nstr];
//方法二
NSString* string = @"Wed, 3 Apr 2013 04:11:02 GMT";
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
NSDate* inputDate = [inputFormatter dateFromString:string];
NSLog(@"date = %@", inputDate);
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setLocale:[NSLocale currentLocale]];
[outputFormatter setDateFormat:@"HH:mm:ss"];
NSString *str = [outputFormatter stringFromDate:inputDate];
NSLog(@"testDate:%@", str);
- nsdate学习
- OC学习之NSdate
- OC学习----NSDate&NSData
- NSDate总结 (学习笔记)
- 【Foundation学习笔记】时间NSDate
- OC学习 -- NSDate和NSDateFormatter
- NSDate
- NSDate
- NSDate
- NSDate
- NSDate
- NSDate
- NSDate
- NSDate
- NSDate
- NSDate
- NSDate
- NSDate
- IP协议包中的TTL(Time-To-Live)
- javaweb学习总结(十一)——使用Cookie进行会话管理
- Oracle之根据日期查询
- 在基于ZedBoard的Linux系统下添加自定义硬件IP(4) ——驱动程序和应用程序编写
- Android res文件夹下资源定义及使用
- nsdate学习
- Android的AlertDialog详解
- 视频在滑动列表中的异步缓存和播放
- 修改wireshark协议解析规则
- 使用Git GUI同步本地和远程源代码
- React-Native设置入口组件的问题,新手需注意
- JavaWeb学习总结(十二)——Session
- 字符集的不同导致内存泄露
- IP地址正则表达式