转换显示聊天时间 根据用户12||24小时制区分星期、上午和下午
2018-08-14 本文已影响0人
倒着游的鱼
-(NSString*)addTime:(NSString*)timeStr
{
NSString *formatStringForHours = [NSDateFormatter dateFormatFromTemplate:@"j" options:0 locale:[NSLocale currentLocale]];
NSRangecontainsA = [formatStringForHoursrangeOfString:@"a"];
BOOLhasAMPM = containsA.location!=NSNotFound;
// NSLog(@"是否是12小时制--%d",hasAMPM);
//hasAMPM==TURE为12小时制,否则为24小时制
// 日期格式化类
NSDateFormatter *ATZt = [[NSDateFormatter alloc] init];
// 设置日期格式(y:年,M:月,d:日,H:时,m:分,s:秒)
ATZt.dateFormat = @"yyyy-MM-dd HH:mm";
// ATZt.AMSymbol = @"上午";
// ATZt.PMSymbol = @"下午";
// ATZt.dateFormat = @"yyyy-MM-dd aaa";
// [yyyy-mm-dd] [hh:mm]
NSArray*dateArr = [timeStrcomponentsSeparatedByString:@" "];
//[yyyy,mm,dd]
NSArray *preDateArr = [[dateArr firstObject] componentsSeparatedByString:@"-"];
NSString*preDateStr;
NSString*dateStr;
if (preDateArr.count==3) {
preDateStr = [NSStringstringWithFormat:@"%@年%@月%@日",
preDateArr[0],preDateArr[1],preDateArr[2]];
dateStr = [NSStringstringWithFormat:@"%@月%@",
preDateArr[1],preDateArr[2]];
}
// 帖子的创建时间
NSDate*create = [ATZtdateFromString:timeStr];
if (create.isThisYear) {// 今年
if (create.isToday) {// 今天
if (hasAMPM) { //12小时制
NSDateComponents*cmps = [createdateComponets];
if (cmps.hour<=5) {
ATZt.AMSymbol=@"凌晨";
ATZt.dateFormat=@"aaah:mm";
}else if (cmps.hour<=12){
ATZt.AMSymbol=@"上午";
if (cmps.hour<10) {
ATZt.dateFormat=@"aaah:mm";
}else{
ATZt.dateFormat=@"aaahh:mm";
}
}else {
ATZt.PMSymbol=@"下午";
if (cmps.hour%12<10) {
ATZt.dateFormat=@"aaah:mm";
}else{
ATZt.dateFormat=@"aaahh:mm";
}
}
}else {
ATZt.dateFormat=@"HH:mm";
}
return [ATZtstringFromDate:create];
} else if (create.isYesterday) {// 昨天
if (hasAMPM) {
NSDateComponents*cmps = [createdateComponets];
if (cmps.hour<=5) {
ATZt.AMSymbol=@"凌晨";
ATZt.dateFormat=@"aaah:mm";
}else if (cmps.hour<=12){
ATZt.AMSymbol=@"上午";
if (cmps.hour<10) {
ATZt.dateFormat=@"aaah:mm";
}else{
ATZt.dateFormat=@"aaahh:mm";
}
}else {
ATZt.PMSymbol=@"下午";
if (cmps.hour%12<10) {
ATZt.dateFormat=@"昨天 aaah:mm";
}else{
ATZt.dateFormat=@"昨天 aaahh:mm";
}
}
}else {
ATZt.dateFormat=@"昨天 HH:mm";
}
return [ATZtstringFromDate:create];
}else if (create.isThisWeak){
ATZt.weekdaySymbols = @[@"周日",@"周一",@"周二",@"周三",@"周四",@"周五",@"周六"];
if (hasAMPM) {
NSDateComponents*cmps = [createdateComponets];
if (cmps.hour<=5) {
ATZt.AMSymbol=@"凌晨";
ATZt.dateFormat=@"EEEE aaah:mm";
}else if (cmps.hour<=12){
ATZt.AMSymbol=@"上午";
if (cmps.hour<10) {
ATZt.dateFormat=@"EEEE aaah:mm";
}else{
ATZt.dateFormat=@"EEEE aaahh:mm";
}
}else {
ATZt.PMSymbol=@"下午";
if (cmps.hour%12<10) {
ATZt.dateFormat=@"EEEE aaah:mm";
}else{
ATZt.dateFormat=@"EEEE aaahh:mm";
}
}
}else {
ATZt.dateFormat=@"EEEE HH:mm";
}
return [ATZtstringFromDate:create];
}else {// 其他
if (hasAMPM) {
NSDateComponents*cmps = [createdateComponets];
if (cmps.hour<=5) {
ATZt.AMSymbol=@"凌晨";
ATZt.dateFormat=@"aaah:mm";
}else if (cmps.hour<=12){
ATZt.AMSymbol=@"上午";
if (cmps.hour<10) {
ATZt.dateFormat=@"aaah:mm";
}else{
ATZt.dateFormat=@"aaahh:mm";
}
}else {
ATZt.PMSymbol=@"下午";
if (cmps.hour%12<10) {
ATZt.dateFormat= [NSStringstringWithFormat:@"%@ aaah:mm ",dateStr];
}else{
ATZt.dateFormat= [NSStringstringWithFormat:@"%@ aaahh:mm ",dateStr];
}
}
}else {
ATZt.dateFormat= [NSStringstringWithFormat:@"%@ HH:mm",dateStr];
}
return [ATZtstringFromDate:create];
}
} else {// 非今年
if (hasAMPM) {
NSDateComponents*cmps = [createdateComponets];
if (cmps.hour<=5) {
ATZt.AMSymbol=@"凌晨";
ATZt.dateFormat=@"aaah:mm";
}else if (cmps.hour<=12){
ATZt.AMSymbol=@"上午";
if (cmps.hour<10) {
ATZt.dateFormat=@"aaah:mm";
}else{
ATZt.dateFormat=@"aaahh:mm";
}
}else {
ATZt.PMSymbol=@"下午";
if (cmps.hour%12<10) {
ATZt.dateFormat= [NSStringstringWithFormat:@"%@ aaah:mm ",preDateStr];
}else{
ATZt.dateFormat= [NSStringstringWithFormat:@"%@ aaahh:mm ",preDateStr];
}
}
}else {
ATZt.dateFormat= [NSStringstringWithFormat:@"%@ HH:mm",preDateStr];
}
return [ATZtstringFromDate:create];
}
}