1、NSDate
时间与日期的初始化,主要有
[NSDate date];
2、NSDateFormatter
主要用于NSString和Date之间相互转化
//NSDate转NSString
stringFromDate:dt
//NSString转NSDate
dateFromString
3、NSCalendar和NSDateComponents
Date打印出具体时间的年月日和把年月日转化为Date
4、NSTimer
定时器
+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo;
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo;
+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(nullable id)userInfo repeats:(BOOL)yesOrNo;
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(nullable id)userInfo repeats:(BOOL)yesOrNo;
5、测试Demo
main.m文件
int main(int argc, char * argv[]) {
@autoreleasepool {
//NSDate常用方法
NSDate *date = [NSDate date];
NSLog(@"%@", date);
NSDate *date1 = [[NSDate alloc] initWithTimeIntervalSinceNow:3600 * 24];
NSLog(@"date1 is %@", date1);
NSDate *date2 = [[NSDate alloc] initWithTimeIntervalSinceNow:-3 * 3600 * 24];
NSLog(@"date1 is %@", date2);
NSLocale *cn = [NSLocale currentLocale];
NSLog(@"%@", [date1 descriptionWithLocale:cn]);
NSLog(@"%@", [date1 earlierDate:date2]);
//NSDate转NSString
NSDate *dt = [NSDate dateWithTimeIntervalSince1970:3600 * 24 * 366 * 20];
NSDate *dt1 = [NSDate dateWithTimeIntervalSince1970:0];
NSLog(@"%@", dt1);
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"公元yyyy年MM月DD日 HH时mm分"];
NSLog(@"%@", [df stringFromDate:dt]);
//NSString转NSDate
NSString *str = @"2018-03-02";
NSDateFormatter *df1 = [[NSDateFormatter alloc] init];
[df1 setDateFormat:@"yyyy-MM-dd"];
NSLog(@"%@", [df1 dateFromString:str]);
//NSCalendar和NSDateComponents使用
NSCalendar *car = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date3 = [NSDate date];
unsigned unit = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSWeekdayCalendarUnit;
NSDateComponents *comp = [car components:unit fromDate:date3];
NSLog(@"现在是%ld年", comp.year);
NSLog(@"现在是%ld月", comp.month);
NSLog(@"现在是%ld日", comp.day);
NSLog(@"现在是%ld时", comp.hour);
NSLog(@"现在是%ld分", comp.minute);
NSLog(@"现在是%ld秒", comp.second);
NSLog(@"现在是星期%ld", comp.weekday);
IOS学习笔记之十七 (NSDate、NSDateFormatter、NSCalendar、NSDateComponents、NSTimer)
最新推荐文章于 2023-04-20 16:57:29 发布