时间算法 转换 (类似微信朋友圈时间显示)

1 时间戳转换

- (NSString *)updateTimeForRow:(NSString *)createTimeString {

// 获取当前时时间戳 1466386762.345715 十位整数 6位小数

NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970];

// 创建时间戳(后台返回的时间 一般是13位数字)

NSTimeInterval createTime = [createTimeString longLongValue]/1000;

// 计算时间差

NSTimeInterval time = currentTime - createTime;

//如果时间小于60秒 显示 刚刚

if (time < 60) {

NSString *string = @"刚刚";

return string;

}

//如果时间大于60秒  小于60分钟  显示多少分钟前

NSInteger sec = time/60;

if (sec<60) {

return [NSString stringWithFormat:@"%ld分钟前",sec];

}

//如果时间 小于24小时  显示多少小时前

// 秒转小时

NSInteger hours = time/3600;

if (hours<24) {

return [NSString stringWithFormat:@"%ld小时前",hours];

}

//如果时间大于24小时  小于30天  显示年月日  时间格式自己定 (也可以显示多少天之前  此处注释掉了)

//秒转天数

NSInteger days = time/3600/24;

if (days < 30) {

NSString * timeString = createTimeString;

NSTimeInterval interval=[timeString doubleValue] / 1000.0;

NSDate *conTimesp = [NSDate dateWithTimeIntervalSince1970:interval];

NSDateFormatter* format = [[NSDateFormatter alloc]init];

[format setDateFormat:@"MM-dd HH:mm"];

NSString* times = [format stringFromDate:conTimesp];

return times;

//        return [NSString stringWithFormat:@"%ld天前",days];

}

//如果时间大于30天  小于12个月  显示时间格式

//秒转月

NSInteger months = time/3600/24/30;

if (months < 12) {

NSString * timeString = createTimeString;

NSTimeInterval interval=[timeString doubleValue] / 1000.0;

NSDate *conTimesp = [NSDate dateWithTimeIntervalSince1970:interval];

NSDateFormatter* format = [[NSDateFormatter alloc]init];

[format setDateFormat:@"MM-dd HH:mm"];

NSString* times = [format stringFromDate:conTimesp];

return times;

}

//其他的 就显示时间格式

NSString * timeString = createTimeString;

NSTimeInterval interval=[timeString doubleValue] / 1000.0;

NSDate *conTimesp = [NSDate dateWithTimeIntervalSince1970:interval];

NSDateFormatter* format = [[NSDateFormatter alloc]init];

[format setDateFormat:@"MM-dd HH:mm"];

NSString* times = [format stringFromDate:conTimesp];

return times;

}

时间: 2024-11-16 08:19:17

时间算法 转换 (类似微信朋友圈时间显示)的相关文章

android 滚动条下拉反弹的效果(类似微信朋友圈)

微信朋友圈上面的图片封面,QQ空间说说上面的图片封面都有下拉反弹的效果,这些都是使用滚动条实现的.下拉,当松开时候,反弹至原来的位置.下拉时候能看到背景图片.那么这里简单介绍一下这种效果的实现. 本文源码下载:点击 1.效果图 这部手机显示的分辨率有限,很老的手机调试. 2.具有反弹效果BounceScrollView package com.org.scroll; import android.content.Context; import android.graphics.Rect; imp

实现类似微信朋友圈功能(一 )只供自己好友可见的点赞和评论

先来看看功能的需求 跟微信朋友圈一样的功能. 我是分步骤做: 1:先查看朋友圈.查看的都是自己的好友.点赞和评论是好友才能看见.不是好友就隐藏看下图.三个不用的用户登录 在展示的接口我先查询出当前好友的点赞和评论的用户集合. doctorId = inputFields.doctorId; //当前医生人 partyIds.add(doctorId); andExprs = FastList.newInstance(); andExprs.add(EntityCondition.makeCond

仿照微信朋友圈时间显示java实现

自己 public static String getPrivateDateTimeAxis(Date date){ if(date == null){ return ""; } SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm"); String createTime = sf.format(date); int days = getDayBetweenDays(date,new Date(

实现类似微信朋友圈功能(二)点赞推送给自己的好友或关注

需求:评论点赞通知跟自己是好友或关注的评论点赞该条说说的人 这个功能是点赞和评论接口,在点赞的同时会给自己的朋友 (是在该条说说有联系的 评论或点赞)进行消息推送 还是跟上一个一样进行筛选.相同的进行推送.在完成之后感觉有问题.就是出现在推送哪里.微信的是 点赞 推送.取消点赞.但是推送还在.在点赞的情况下.消息不会重复,始终保证数据的唯一性. 而我这个是没有做处理.在取消的时候,消息不会进行删除.重新点赞的情况下,消息会重复添加.也就造成了.其实只有一个推送.却出现很多条数据. 当然解决起来其

点击列表后弹出输入框,所点击项自动滚动到输入框上方(类似微信朋友圈的评论)

参考:http://www.2cto.com/weixin/201508/433858.html 难点1:键盘高度(adjustResize+OnGlobalLayoutListener) <activity android:name=".activity.MyActivity" android:windowSoftInputMode="adjustResize|stateHidden" android:screenOrientation="port

类似微信朋友圈,点击+号图片,可以加图片

xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_pare

超简单--仿微信朋友圈展开显示更多文字功能

在做的项目需要这个功能.而且是挺常用的一个功能. 需求是有一个评论列表,太多时要隐藏,然后点击展开更多按钮就可以显示全文. 思路就是可以弄俩TextView,一个MaxLine为n,一个不限制,然后再弄个按钮控制两个TextView交替显示. 有了思路马上动手,然后发现这个效果真是很简单就实现了..效果图 好了,废话不多说,上代码.讲解不会很多,因为实在太简单了... <?xml version="1.0" encoding="utf-8"?> <

阿里大神动态教你ViewGroup(实现微信朋友圈九宫格图片控件)你还不来看看吗?

简介 最近项目里有个类似微信朋友圈的九图控件的需求,Github找了一下,发现都不太满足需求,我需要单张图片的时候可以按照图片宽高比列在一定范围内自适应,而大多开源项目单张图片也是一个小正方形,所以,干脆自己动手写一个 项目源码 具体自定义NineImageLayout过程,可以查看NineImageLayout. 效果图如下: 主要功能如下: 1:单张图片的时候支持按照图片宽高比列在设定区域内自适应2:Adapter方式绑定数据和UI3:图片点击事件回调4:设置图片间隔大小5:自由通过Glid

模仿微信朋友圈发布时间,将过去时间格式化成xx(秒/分/小时/天)前

模仿微信朋友圈发布时间,使用扩展方法将将过去时间展示成xx(秒/分/小时/天)前,以留言列表中的留言时间为例,先来看一下直接的时间展示效果(date.ToString("yyyy/MM/dd HH:mm:ss")) 感觉很一般,没有什么特别 下面 我们写一个拓展方法,将留言时间格式化成xx(秒/分/小时/天)前 decimal.Truncate(data)//取decimal整数位 public static class HtmlExpansion { //只格式化2天内的时间 pub