您的位置:首页 > 其它

欢迎使用CSDN-markdown编辑器

2015-12-09 17:16 225 查看
* 强调内容oc 时间 计时器摘要*

// main.m

// Foundation-时间

//

// Created by qingyun on 15/12/8.

// Copyright (c) 2015年 qingyun. All rights reserved.

//

import

import “Person.h”

int main(int argc, const char * argv[]) {

// 1.时间对象
NSDate *now = [NSDate date];
NSLog(@"now >>>>> %@", now);

// 2.时间间隔(单位:Second)
NSTimeInterval interval = 86400;
NSDate *tomorrow = [now dateByAddingTimeInterval:interval];
NSDate *yesterday = [now dateByAddingTimeInterval:-(interval)];

NSLog(@"t >> %@ y >> %@",tomorrow, yesterday);
NSDate *somedate = [NSDate dateWithTimeInterval:interval sinceDate:now];

NSDate *somedate1 = [NSDate dateWithTimeIntervalSince1970:86400];

// 3.比较时间
NSDate *earlydate = [tomorrow earlierDate:yesterday];


// [tomorrow laterDate:<#(NSDate *)#>]

NSTimeInterval intervar1 = [tomorrow timeIntervalSinceDate:yesterday];

NSDate *future = [NSDate distantFuture];
//[NSDate distantPast];

NSLog(@">>>>>>>>>>>>>>>>>>>>>>>>>>>>");
// 4.时间格式化工具
NSDateFormatter *formatter = [NSDateFormatter new];
[formatter setDateStyle:NSDateFormatterFullStyle];
[formatter setTimeStyle:NSDateFormatterFullStyle];

//[formatter setDateFormat:@"yy/MM/dd HH^mm^ss"];
//NSLog(@"date >>>>> %@", [formatter stringFromDate:now]);


// [formatter setDateFormat:@”yy–MM—–dd HH:mm:ss”];

// NSString *dateStr = @”12–09—–15 15:02:04”;

// NSLog(@”date >>>>> %@”, [formatter dateFromString:dateStr]);

// 5.时区
NSArray *zones = [NSTimeZone knownTimeZoneNames];
for (NSString *zoneName in zones) {
if ([zoneName containsString:@"Shang"]) {
NSLog(@"zone >>>> %@", zoneName);
}
}

NSTimeZone *timezone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
[formatter setTimeZone:timezone];
NSTimeZone *defautlZone = [NSTimeZone defaultTimeZone];
NSLog(@"default >>>> %@", defautlZone);

//[formatter setDateFormat:@"yy/MM/dd HH^mm^ss"];

NSString *dateStr = @"公元前/后:公元  年份:2015=2015=15 季度:4=4季度=第四季度 月份:12=12月=十二月 今天是今年第几周:50 今天是本月第几周:2  今天是今天第几天:342 今天是本月第几天:8 星期:3=周二=星期二 上午/下午:下午 小时:5=17 分钟:10 秒:57 毫秒:987  这一天已过多少毫秒:61857987  时区名称:中国标准时间=中国标准时间 时区编号:+0800 ";

// G 公元
// u yyyy yy 年份
// q qqq qqqq 季度
// ......
[formatter setDateFormat:@"'公元前/后:'G  '年份:'u'='yyyy'='yy '季度:'q'='qqq'='qqqq '月份:'M'='MMM'='MMMM '今天是今年第几周:'w '今天是本月第几周:'W  '今天是今天第几天:'D '今天是本月第几天:'d '星期:'c'='ccc'='cccc '上午/下午:'a '小时:'h'='H '分钟:'m '秒:'s '毫秒:'SSS  '这一天已过多少毫秒:'A  '时区名称:'zzzz'='vvvv '时区编号:'Z "];

NSDate *date =  [formatter dateFromString:dateStr];
NSLog(@"%@", date);

//NSLog(@"date >>>>> %@", [formatter stringFromDate:now]);

// 6.通过日历来创建任意的时间
NSCalendar *canlendar = [NSCalendar currentCalendar];
NSDateComponents *components = [NSDateComponents new];
[components setYear:2015];
[components setMonth:12];
[components setDay:8];

NSDate *anyDate = [canlendar dateFromComponents:components];
NSLog(@"anyDate >>>> %@", anyDate);

// 7.NSTimer
Person *xiaoming = [Person new];
// arg1:计时器的间隔(单位:秒)
// arg2:事件的执行者
// arg3:做的时间 @selector(方法名)有参数的方法默认就是这个计时器本身
// arg4:计时器需要传递的其他信息,可以是字典或者数组甚至其他的对象用来包含更多的信息
// arg5:是否重复
[NSTimer scheduledTimerWithTimeInterval:5 target:xiaoming selector:@selector(doSome:) userInfo:@"滚出去...." repeats:NO];

// 开启一个运行循环,使计时器生效
[[NSRunLoop mainRunLoop] run];

return 0;


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: