当前位置: 首页 > news >正文

wordpress中文版会员中心上海网站seo

wordpress中文版会员中心,上海网站seo,附近做广告牌的电话,怀化优化办主任iOS开发-格式化时间显示刚刚几分钟前几小时前等 在开发中经常遇到从服务端获取的时间戳#xff0c;需要转换显示刚刚、几分钟前、几小时前、几天前、年月日等格式。 主要用到了NSCalendar、NSDateComponents这两个类 NSString *result nil;NSCalendarUnit components (NSC…iOS开发-格式化时间显示刚刚几分钟前几小时前等 在开发中经常遇到从服务端获取的时间戳需要转换显示刚刚、几分钟前、几小时前、几天前、年月日等格式。 主要用到了NSCalendar、NSDateComponents这两个类 NSString *result nil;NSCalendarUnit components (NSCalendarUnit)(NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitWeekday|NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond);NSDateComponents *nowDateComponents [[NSCalendar currentCalendar] components:components fromDate:timeNowDate];NSDateComponents *msgDateComponents [[NSCalendar currentCalendar] components:components fromDate:anotherday];一、NSCalendar与NSDateComponents NSCalendar日历支持日历的计算。 NSDateComponents 一个日期是有年月日时分秒组成的components这个类的作用就是把日期拆分成单独的年、月、日、时、分、秒 假设有某个时间为customDate,类型为NSDate如何知道改日期的具体年份、月、日呢。这个就要用到NSDateComponents NSDateComponents的方法 - (NSDateComponents *)components:(NSCalendarUnit)unitFlags fromDate:(NSDate *)dateunitFlags为枚举类型如下 typedef NS_OPTIONS(NSUInteger, NSCalendarUnit) {NSCalendarUnitEra kCFCalendarUnitEra,NSCalendarUnitYear kCFCalendarUnitYear,NSCalendarUnitMonth kCFCalendarUnitMonth,NSCalendarUnitDay kCFCalendarUnitDay,NSCalendarUnitHour kCFCalendarUnitHour,NSCalendarUnitMinute kCFCalendarUnitMinute,NSCalendarUnitSecond kCFCalendarUnitSecond,NSCalendarUnitWeekday kCFCalendarUnitWeekday,NSCalendarUnitWeekdayOrdinal kCFCalendarUnitWeekdayOrdinal,NSCalendarUnitQuarter API_AVAILABLE(macos(10.6), ios(4.0), watchos(2.0), tvos(9.0)) kCFCalendarUnitQuarter,NSCalendarUnitWeekOfMonth API_AVAILABLE(macos(10.7), ios(5.0), watchos(2.0), tvos(9.0)) kCFCalendarUnitWeekOfMonth,NSCalendarUnitWeekOfYear API_AVAILABLE(macos(10.7), ios(5.0), watchos(2.0), tvos(9.0)) kCFCalendarUnitWeekOfYear,NSCalendarUnitYearForWeekOfYear API_AVAILABLE(macos(10.7), ios(5.0), watchos(2.0), tvos(9.0)) kCFCalendarUnitYearForWeekOfYear,NSCalendarUnitNanosecond API_AVAILABLE(macos(10.7), ios(5.0), watchos(2.0), tvos(9.0)) (1 15),NSCalendarUnitCalendar API_AVAILABLE(macos(10.7), ios(4.0), watchos(2.0), tvos(9.0)) (1 20),NSCalendarUnitTimeZone API_AVAILABLE(macos(10.7), ios(4.0), watchos(2.0), tvos(9.0)) (1 21), };常用的类型说明 NSCalendarUnitEra -- 纪元单位。 NSCalendarUnitYear -- 年单位。 NSCalendarUnitMonth -- 月单位。范围为1-12 NSCalendarUnitDay -- 天单位。范围为1-31 NSCalendarUnitHour -- 小时单位。范围为0-24 NSCalendarUnitMinute -- 分钟单位。范围为0-60 NSCalendarUnitSecond -- 秒单位。范围为0-60 NSCalendarUnitWeekOfMonth -- 月包含的周数。 NSCalendarUnitWeekOfYear -- 年包含的周数。 NSCalendarUnitWeekday -- 工作日单位。范围为1-7fromDate对应的日期 //根据系统区域设置获取用户的当前日历 NSCalendar *calendar [NSCalendar currentCalendar]; //获取对应包含年月日的日期组件 NSDateComponents *components [calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:customDate]; [components year];//年 [components month];//月 [components day];//日二、实现获取时间戳与当前时间进行比对 从服务端获取的时间戳需要转换显示刚刚、几分钟前、几小时前、几天前、年月日等格式。 例如显示刚刚 long dateTime [anotherday timeIntervalSince1970]; long nowTimestamp [timeNowDate timeIntervalSince1970];if ((dateTime-zeroTime)0) { //今日if ((nowTimestamp - dateTime) 60) {//如果是一分钟内的消息显示刚刚return 刚刚;}return timeArr[3]; }完整代码如下 #import “SDTimeFormatUtil.h” implementation SDTimeFormatUtil/**格式化时间param timeStamp 时间秒数return 字符串*/(NSString *)timeFormaterWithTimeStamp:(long)timeStamp {try {NSDate *anotherday [NSDate dateWithTimeIntervalSince1970:timeStamp];NSDateFormatter *formatter [[NSDateFormatter alloc]init];[formatter setDateFormat:yyyy-MM-dd-HH:mm];NSDate *timeNowDate [NSDate date];NSString *nowDate [formatter stringFromDate:timeNowDate];NSArray *nowtimeArr [nowDate componentsSeparatedByString:-];NSString *nowYearStr nowtimeArr[0];NSString *dateStr [formatter stringFromDate:anotherday];NSArray *timeArr [dateStr componentsSeparatedByString:-];NSString *yearStr timeArr[0];NSString *result nil;NSCalendarUnit components (NSCalendarUnit)(NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitWeekday|NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond);NSDateComponents *nowDateComponents [[NSCalendar currentCalendar] components:components fromDate:timeNowDate];NSDateComponents *msgDateComponents [[NSCalendar currentCalendar] components:components fromDate:anotherday];double OnedayTimeIntervalValue 24*60*60; //一天的秒数//为了判断当前时间是否为未来时间BOOL futureTime ([anotherday timeIntervalSince1970]-[[NSDate date] timeIntervalSince1970]0)?YES:NO;if (futureTime) {return [NSString stringWithFormat:%/%/%,timeArr[0],timeArr[1],timeArr[2]];}int year [yearStr intValue]-[nowYearStr intValue];if (year0) {//过去今年以前return [NSString stringWithFormat:%/%/%,timeArr[0],timeArr[1],timeArr[2]];}int zeroTime [self zeroOfDate];long dateTime [anotherday timeIntervalSince1970];long nowTimestamp [timeNowDate timeIntervalSince1970];if ((dateTime-zeroTime)0) { //今日if ((nowTimestamp - dateTime) 60) {//如果是一分钟内的消息显示刚刚return 刚刚;}return timeArr[3];}if ((zeroTime-dateTime)24*3600) {//昨日return 昨天;}if([timeNowDate timeIntervalSinceDate:anotherday] 7 * OnedayTimeIntervalValue) {//一周内NSString *weekDay [SDTimeFormatUtil weekdayStr:msgDateComponents.weekday];return weekDay;}return [NSString stringWithFormat:%/%,timeArr[1],timeArr[2]];} catch (NSException *exception) {//出现异常return [NSString stringWithFormat:%ld,timeStamp];} } (NSString*)weekdayStr:(NSInteger)dayOfWeek {static NSDictionary *daysOfWeekDict nil;daysOfWeekDict {(1):星期日,(2):星期一,(3):星期二,(4):星期三,(5):星期四,(6):星期五,(7):星期六,};return [daysOfWeekDict objectForKey:(dayOfWeek)]; }/**今日时间范围内的具体划分param date datereturn 今日时间格式*/(NSString *)timeStringOfToday:(NSDate *)date {NSDate *today [NSDate date];NSCalendar *gregorian [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];unsigned int unitFlags NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;NSDateComponents *components [gregorian components:unitFlags fromDate:date toDate:today options:0];/*if ([components hour]) {return [NSString stringWithFormat:%ld小时前,(long)[components hour]];}if ([components minute]) {return [NSString stringWithFormat:%ld分钟前,(long)[components minute]];}*/if ([components hour]) {//几个小时前return [NSString stringWithFormat:%02ld:%02ld,components.hour,components.minute];}if ([components minute]) {//多少分钟前return [NSString stringWithFormat:%02ld:%02ld,components.hour,components.minute];}if ([components second]) {return 刚刚;}return 刚刚; }/**今日零点return 整型*/(int)zeroOfDate {NSCalendar *calendar [NSCalendar currentCalendar];NSDateComponents *components [calendar components:NSUIntegerMax fromDate:[NSDate date]];components.hour 0;components.minute 0;components.second 0;NSTimeInterval ts (int)[[calendar dateFromComponents:components] timeIntervalSince1970];return ts; }/**返回格式为YYYY-dd-mm的时间字符串return 时间字符串*/(NSString *)formatterDayDate:(long)timeStamp {NSDate *date [SDTimeFormatUtil getDateTimeFromTimeStamp:timeStamp];NSDateFormatter *dateFormatter [[NSDateFormatter alloc] init];[dateFormatter setDateFormat:YYYY-MM-dd];NSString *dateStr nil;if (self) {dateStr [dateFormatter stringFromDate:date];}return dateStr; }/**将时间戳转换为NSDate类型param timeStamp timeStampreturn date*/(NSDate *)getDateTimeFromTimeStamp:(long)timeStamp {return [NSDate dateWithTimeIntervalSince1970:timeStamp]; }end三、小结 iOS开发-格式化时间显示刚刚几分钟前几小时前等 从服务端获取的时间戳需要转换显示刚刚、几分钟前、几小时前、几天前、年月日等格式。 NSCalendar与NSDateComponents。 学习记录每天不停进步。
http://www.dnsts.com.cn/news/223502.html

相关文章:

  • vue如何网站开发济南工程建设信息网
  • 查公司信息的国家网站攀枝花seo
  • 百度搜索广告收费标准优势的seo网站优化排名
  • 网站开发投资成本公司网站建设网站优化网络推广
  • 网站干什么的合肥公司网站搭建服务商
  • 如何建设网站推广平台微信公众号推文制作软件
  • 微信平台的微网站怎么做做个公司网站需要什么钱
  • jsp做网站案例电商网站开源授权二次开发
  • 网站做移动适配以后可以取消吗wordpress热门标签调用
  • 辽宁建设银行企业银行官方网站网站建设厘金手指排名十九
  • 网站开发的费用是怎么计算的重庆公司办社保需要什么资料
  • 肇庆网站建设公司wordpress 渲染html
  • 浅谈电子商务网站的建设与管理某高校门户网站开发案例
  • 深圳火狼设计公司招聘网站建网站手续
  • 做淘宝用那些网站发货网站首页的布局
  • asp 网站建设教程如何查询域名服务商
  • sketch代替ps做网站godaddy做网站
  • 建html5响应式网站的工具宁夏建设厅网站旧版
  • 网站推广的基本方法有什么网站需要icp备案
  • 查网站ip地址wordpress彩色文章标签
  • 网站建设 珠海国外的贸易网站
  • 网站开发棋牌工商信息查询官网
  • 台州做微网站网页版聊天软件
  • 网站域名续费多少钱建设工程材料网站
  • 自适应网站欣赏快速搭建房屋
  • 大学生商品网站建设seo网络科技有限公司
  • 网站流量怎么做分销平台合生元
  • 佛山网站建设佛山网络推广网页界面设计使用的单位主要是
  • 在上面网站上可以做统计图论坛网站太难做没人
  • 微信营销和网站建设四团网站建设