防微信聊天时间生成
#import <Foundation/Foundation.h>
@interface ChatTimeUtil : NSObject
+(NSString *)showDate:(NSDate *)date upDate:(NSDate *)a;
//nsstring 转 nsdate
+ (NSDate *)dateFromString:(NSString *)dateString format:(NSString *)format;
+ (NSString *)stringFromDate:(NSDate *)date format:(NSString *)format;
@end
//
// ChatTimeUtil.m
// Test1111
//
// Created by victor-lee on 14-12-11.
// Copyright (c) 2014年 自由人. All rights reserved.
//
#import "ChatTimeUtil.h"
@interface ChatTimeUtil()
@end
@implementation ChatTimeUtil
//如果一个方法中,需要外部变量时,而且这个变量有生命周期时,就不能用工具类.
+(NSString *)showDate:(NSDate *)date upDate:(NSDate *)a{
NSDate *tmpDate =[[NSDate alloc] initWithTimeIntervalSinceReferenceDate:([a timeIntervalSinceReferenceDate] + 5*60)];
if([tmpDate earlierDate:date] == tmpDate){
if([self isToday:date]){
return [ChatTimeUtil stringFromDate:date format:@"HH:mm"];
}else{
return [self returnDate:date];
}
}else{
return nil;
}
}
//nsstring 转 nsdate
+(NSDate *)dateFromString:(NSString *)dateString format:(NSString *)format{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: format];
NSDate *destDate= [dateFormatter dateFromString:dateString];
return destDate;
}
//nsdate 转 nsstring
+(NSString *)stringFromDate:(NSDate *)date format:(NSString *)format{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:format];
return [dateFormatter stringFromDate:date];
}
//如果日期是一星期内,便返回星期N,如果是一星期前就返回之间的日期
+(NSString *)returnDate:(NSDate *)d{
NSDate *tmpDate =[[NSDate alloc] initWithTimeIntervalSinceReferenceDate:([[NSDate date] timeIntervalSinceReferenceDate] - 7*24*60*60)];
if([tmpDate earlierDate:d] == tmpDate){
NSDateComponents *componets = [[NSCalendar autoupdatingCurrentCalendar] components:NSWeekdayCalendarUnit fromDate:d];
;
return [ NSString stringWithFormat:@"%@ %@",[self getWeek:[componets weekday]-1],[ChatTimeUtil stringFromDate:d format:@"HH:mm"]] ;
}else{
return [ChatTimeUtil stringFromDate:d format:@"yyyy-MM-dd HH:mm:ss"];
}
}
//判断是否今天
+ ( BOOL )isToday:(NSDate *)d
{
NSCalendar *calendar = [ NSCalendar currentCalendar ];
int unit = NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear ;
NSDateComponents *nowCmps = [calendar components :unit fromDate :[ NSDate date ]];
NSDateComponents *selfCmps = [calendar components :unit fromDate : d ];
return (selfCmps. year == nowCmps. year ) && (selfCmps. month == nowCmps. month ) && (selfCmps. day == nowCmps. day );
}
+(NSString *)getWeek:(NSInteger)week{
switch (week) {
case 1:
return @"星期一";
break;
case 2:
return @"星期二";
break;
case 3:
return @"星期三";
break;
case 4:
return @"星期四";
break;
case 5:
return @"星期五";
break;
case 6:
return @"星期六";
break;
default:
return @"星期日";
break;
}
}
@end
转载于:https://my.oschina.net/u/564793/blog/360326
- 点赞
- 收藏
- 分享
- 文章举报
- 教你一键快速生成后台代码,这样和测试小姐姐聊天的时间又多了
- android 仿微信聊天时间格式化显示
- Java(仿QQ/微信聊天)的时间格式方法
- 微信技术分享:微信的海量IM聊天消息序列号生成实践(算法原理篇)
- Calendar 显示是否是 今天 本周 本月 本年 (应用于微信 QQ 显示历史聊天列表 时间显示)
- python 将微信聊天记录生成词云
- Android 仿微信聊天时间格式化显示功能
- 最全的ios系统导出微信聊天记录&生成词云教程
- 仿微信,QQ聊天页面时间戳的转换
- 微信小程序前端布局自动生成工具,不浪费时间写界面啦
- 导出微信聊天记录并生成词云
- android 仿微信聊天时间格式化显示
- 微信小程序之滚动选择器(时间日期选择器)
- 删除的微信聊天记录还能恢复吗?最简单的恢复方法
- R语言-将字符串数据转换成日期时间,变成星期、月等等,包括生成日期
- 微信设备通过生成二维码绑定设备
- asp页面自动生成htm并在规定时间内刷新
- Android仿微信气泡聊天界面设计
- 七牛时间戳防盗链生成csharp,c#实现
- Eclipse 自动生成作者时间等注释