iOS时间转换(聊天时间)
来源:互联网 发布:透明名片生成器软件 编辑:程序博客网 时间:2024/05/16 09:23
因为最近用环信写了个聊天功能,想把用户的发送时间显示在界面上,但是当我获取环信消息的发送时间的时候发现他是以时间戳的形势存到消息中的。所以我必须把它转换为正常的时间形式并显示到界面上
所以我就封装了一个时间的转换类,把它了记录下来,下面就是代码了-挺简单的,比较容易理解
(1)TimeTool.h
#import <Foundation/Foundation.h>@interface TimeTool : NSObject// 定义个类方法,用来返回转换后的时间形式+ (NSString *)timeStr:(long long)timestamp;@end
(2)TimeTool.m
#import "TimeTool.h"#import <UIKit/UIKit.h>@implementation TimeTool+ (NSString *)timeStr:(long long)timestamp{ // 创建日历对象 NSCalendar *calendar = [NSCalendar currentCalendar]; // 获取当前时间 NSDate *currentDate = [NSDate date]; // 获取当前时间的年、月、日。利用日历 NSDateComponents *components = [calendar components:NSCalendarUnitYear| NSCalendarUnitMonth|NSCalendarUnitDay fromDate:currentDate]; NSInteger currentYear = components.year; NSInteger currentMonth = components.month; NSInteger currentDay = components.day; // 获取消息发送时间的年、月、日 NSDate *msgDate = [NSDate dateWithTimeIntervalSince1970:timestamp / 1000.0]; components = [calendar components:NSCalendarUnitYear| NSCalendarUnitMonth|NSCalendarUnitDay fromDate:msgDate]; CGFloat msgYear = components.year; CGFloat msgMonth = components.month; CGFloat msgDay = components.day; // 进行判断 NSDateFormatter *dateFmt = [[NSDateFormatter alloc] init]; if (currentYear == msgYear && currentMonth == msgMonth && currentDay == msgDay) { //今天 dateFmt.dateFormat = @"HH:mm"; }else if (currentYear == msgYear && currentMonth == msgMonth && currentDay-1 == msgDay ){ //昨天 dateFmt.dateFormat = @"昨天 HH:mm"; }else{ //昨天以前 dateFmt.dateFormat = @"MM-dd HH:mm"; } // 返回处理后的结果 return [dateFmt stringFromDate:msgDate];}@end
1 0
- iOS时间转换(聊天时间)
- iOS 时间格式(时间格式转换)
- ios 时间转换
- iOS时间转换问题
- ios时间的转换
- iOS 时间转换
- iOS开发-时间转换
- iOS 常用时间转换
- ios 时间格式转换
- IOS 时间格式 时间转换 大总结
- IOS 时间格式 时间转换 大总结
- iOS 时间戳转换为时间
- iOS 时间戳转换成标准时间
- iOS 时间戳转换为时间 -- anglexjq
- IOS 时间格式 时间转换 大总结
- iOS 时间戳转换为时间
- iOS时间戳与标准时间转换
- ios 时间戳转换成时间
- ldpack工作日记-2016/5/4&5
- EditText属性详解
- iOS ShareSDK QQ空间分享Error code=206
- Spring事务管理与数据库隔离级别的关系(Spring+mysql)
- 使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 (六)之自动寻路及优化
- iOS时间转换(聊天时间)
- http报文格式和post, get方式区别与误区(很不错哦)
- 练习007
- Python的学习笔记(二)(进阶)
- Java线程中 start与run的区别以及源码分析
- AsyncTask--异步任务学习
- 指向学生类的指针
- Lifeary 6.2 portle 之间跳转、传值
- # 打包时异常错误 64K问题 , UNEXPECTED TOP-LEVEL EXCEPTION: ....