美文网首页
ios日期处理

ios日期处理

作者: 金鱼________ | 来源:发表于2016-10-20 14:45 被阅读0次

目录:

1、字符串转换为日期;

2、时间戳转换为日期;

3、日期转换为字符串

4、获取日期中的年、月、日、时、分、秒;

5、日期比较(比较大小、比较相差的日期)

1、字符串转换为日期;

//第一种样式转换

NSString*created =@"2016-11-30 09:10:05";

//NSDateFormatter作用:日期,字符串之间的相互转换

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

//字符串转换过程中,各个数字所代表的日期单位

formatter.dateFormat=@"yyyy-MM-dd HH:mm:ss";

//得到对应的日期

NSDate*createdDate = [formatterdateFromString:created];

//第二种样式转换

NSString*created =@"Tue May 31 17:46:45 +0000 2011";

//NSDateFormatter作用:日期,字符串之间的相互转换

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

//EEE星期;Z时区

formatter.dateFormat=@"EEE MMM dd HH:mm:ss Z yyyy";

formatter.locale= [NSLocalelocaleWithLocaleIdentifier:@"en_US"];

NSDate*createdDate = [formatterdateFromString:created];

2、时间戳转换为日期;

//时间戳:从1970年1月1号00:00:00开始走过的毫秒数

NSString*string =@"645645645645";

//1秒=1000毫秒

NSTimeIntervalsecond =string.longLongValue/1000.0;

//时间戳转换为日期

NSDate*date = [NSDatedateWithTimeIntervalSince1970:second];

3、日期转换为字符串

//当前时间

NSDate*date = [NSDate date];

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

formatter.dateFormat=@"EEE MM dd HH:mm:ss yyyy";

NSString*string = [formatterstringFromDate:date];

4、获取日期中的年、月、日、时、分、秒;

//时间字符串

NSString*created =@"2016-08-30 09:10:05";

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

formatter.dateFormat=@"yyyy-MM-dd HH:mm:ss";

NSDate*date = [formatterdateFromString:created];

// NSCalendar处理日期,判别版本,不同操作系统用不同代码,否则可能出现些问题

NSCalendar*calender =nil;

if([UIDevicecurrentDevice].systemVersion.doubleValue>=8.0) {

calender = [NSCalendarcalendarWithIdentifier:NSCalendarIdentifierGregorian];

}else{

calender = [NSCalendarcurrentCalendar];

}

//不同的枚举类型,代表不同的日期单位,下面的例子获取了日期对应的月份,和星期

NSInteger  era = [calendercomponent:NSCalendarUnitErafromDate:date];

NSCalendarUnit  unit =NSCalendarUnitMonth|NSCalendarUnitWeekday;

NSDateComponents *comps = [calendercomponents:unitfromDate:date];

NSLog(@"%zd--%zd--%zd",era,comps.month,comps.weekday);

5、日期比较

//第一种比较方式

NSString*created =@"2016-08-30 09:10:05";

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

formatter.dateFormat=@"yyyy-MM-dd HH:mm:ss";

NSDate*createdDate = [formatterdateFromString:created];

//当前时间

NSDate*now = [NSDatedate];

//比较大小

/*

NSOrderedAscending = -1L,升序,越往右越大

NSOrderedSame,相等

NSOrderedDescending,降序,越往右越小

*/

NSComparisonResultresult = [nowcompare:createdDate];

if(result ==NSOrderedAscending) {

NSLog(@"createdData > now");

}elseif(result ==NSOrderedDescending){

NSLog(@"createdData < now");

}else{

NSLog(@"createdData = now");

}

//第二种比较方式(事件戳日期的比较)

//获取时间

NSString*created =@"2016-08-30 09:10:05";

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

formatter.dateFormat=@"yyyy-MM-dd HH:mm:ss";

NSDate*createdDate = [formatterdateFromString:created];

//当前时间

NSDate*now = [NSDatedate];

//两个时间相差秒数

NSTimeIntervalinterval = [nowtimeIntervalSinceDate:createdDate];

NSLog(@"%f",interval);

//第三种比较方式,获得两个日期相差的年、月、日、时、分、秒

//获取时间

NSString*created =@"2016-08-30 09:10:05";

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

formatter.dateFormat=@"yyyy-MM-dd HH:mm:ss";

NSDate*createdDate = [formatterdateFromString:created];

//当前时间

NSDate*now = [NSDatedate];

//获取

NSCalendar*calendar =nil;

if([UIDevicecurrentDevice].systemVersion.doubleValue>8.0) {

calendar = [NSCalendarcalendarWithIdentifier:NSCalendarIdentifierGregorian];

}else{

calendar = [NSCalendarcurrentCalendar];

}

//获得日期之间的间隔

NSCalendarUnitunit =NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute|NSCalendarUnitSecond;

NSDateComponents*comps = [calendarcomponents:unitfromDate:createdDatetoDate:nowoptions:0];

NSLog(@"%@",comps);

//判断这个日期是不是今天的日期,iOS8以后用

//[calendar isDateInToday:[formatter dateFromString:created]];

相关文章

  • iOS日期处理

    1、yyyy-MM-dd-> 今天、昨天、MM月dd日,注意dateFormater的格式一定要对应上传参过来的日期格式

  • 日期处理(iOS)

    一、日期 NSDate 日期类型当前时间: [NSDate date] 时间比较,推荐转换成NSDate类型,然后...

  • iOS 日期处理

    日期处理 NSString 与 NSDate 转换使用NSDateFormatter 日期格式说明: yy: 年...

  • iOS日期处理

    服务器返回的时间是字符串,手机获取的时间是NSDate,需要进行转换。 凡是日期处理,这三个类足够了 NSDate...

  • ios日期处理

    目录: 1、字符串转换为日期; 2、时间戳转换为日期; 3、日期转换为字符串 4、获取日期中的年、月、日、时、分、...

  • IOS日期处理

    一、先定义一个全局变量的NSTimeInterval 复制代码 @interface ViewController...

  • 时间与日期

    在iOS原生类中用以处理时间与日期的类:NSCalendar 日历处理NSDateComponents 将日期进...

  • iOS的NSString * 与 NSDate *的日期转换处理

    iOS的NSString * 与 NSDate *的日期转换处理

  • iOS 日期处理 - 解析日期(转载)

  • ios关于日期处理

    最近在项目的开发的过程中遇到了关于ios日期处理的问题,直接上代码,各位可以看一看这段代码有没有问题 这段代码一开...

网友评论

      本文标题:ios日期处理

      本文链接:https://www.haomeiwen.com/subject/qsvfuttx.html