iOS与日期相关的操作

时间:2023-03-09 02:44:07
iOS与日期相关的操作
// Do any additional setup after loading the view, typically from a nib.
//得到当前的日期 注意week1是星期天
NSDate *date = [NSDate date];
NSLog(@"date:%@",date); //得到(24 * 60 * 60)即24小时之前的日期,dateWithTimeIntervalSinceNow:
NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow: -(24* 60* 60)];
NSLog(@"yesterday:%@",yesterday); NSDateFormatter *formatter =[[NSDateFormatter alloc] init];
//NSDate *date_ = [NSDate date];
[formatter setTimeStyle:NSDateFormatterMediumStyle];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSDateComponents *comps = [[NSDateComponents alloc] init];
NSInteger unitFlags = NSYearCalendarUnit |
NSMonthCalendarUnit |
NSDayCalendarUnit |
NSWeekdayCalendarUnit |
NSHourCalendarUnit |
NSMinuteCalendarUnit |
NSSecondCalendarUnit; //int week=0;week1是星期天,week7是星期六;
comps = [calendar components:unitFlags fromDate:date];
int week = [comps weekday];
int year=[comps year];
int month = [comps month];
int day = [comps day]; //[formatter setDateStyle:NSDateFormatterMediumStyle]; //This sets the label with the updated time. int hour = [comps hour];
int min = [comps minute];
int sec = [comps second];
NSLog(@"week:%d : %@",week,[self week:week]);
NSLog(@"year:%d",year);
NSLog(@"month:%d",month);
NSLog(@"day:%d",day);
NSLog(@"hour:%d",hour);
NSLog(@"min:%d",min);
NSLog(@"sec:%d",sec); //得到毫秒
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
//[dateFormatter setDateFormat:@"hh:mm:ss"]
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];
NSLog(@"Date:%@", [dateFormatter stringFromDate:[NSDate date]]);

-(NSString*)week:(NSInteger)week

{
NSString*weekStr=nil;
if(week==1)
{
weekStr=@"星期天";
}else if(week==2){
weekStr=@"星期一";
}else if(week==3){
weekStr=@"星期二";
}else if(week==4){
weekStr=@"星期三";
}else if(week==5){
weekStr=@"星期四";
}else if(week==6){
weekStr=@"星期五";
}else if(week==7){
weekStr=@"星期六";
}
return weekStr;
}

由NSDate
转换为NSString:

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *strDate = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"%@", strDate);

由NSString
转换为NSDate:

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:@"2010-08-04 16:01:03"];
NSLog(@"%@", date);