新浪微博时间转换工具类
来源:互联网 发布:bose蓝牙音响 知乎 编辑:程序博客网 时间:2024/04/30 11:50
写了一个类似新浪微博的时间转换工具类
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 微博时间转换工具 * Created by mo on 3/7/16. */public class TimeUtil { public static void main(String[] args){ formatTime("Mon Dec 07 19:00:03 +0800 2015"); formatTime("Mon Mar 07 19:00:03 +0800 2016"); formatTime("Mon Mar 07 00:00:03 +0800 2016"); formatTime("Mon Mar 07 18:00:03 +0800 2016"); formatTime("Sun Mar 06 23:59:59 +0800 2016"); formatTime("Sun Mar 06 20:00:03 +0800 2016"); formatTime("Sat Mar 05 20:00:03 +0800 2016"); } //Sun Jan 02 2011 00:00:00 GMT+0800 public static String formatTime(String time){ String mTime = "--:--:--"; //默认返回值 String timeFormat = "EEE MMM dd HH:mm:ss Z yyyy"; boolean isToday = false; boolean isYesterday = false; boolean isThisYear = false; try { SimpleDateFormat format = new SimpleDateFormat(timeFormat); Date oDate = format.parse(time); Calendar oCalendar = Calendar.getInstance(); oCalendar.setTime(oDate); int oYear = oCalendar.get(Calendar.YEAR); int oMonth = oCalendar.get(Calendar.MONTH); int oDay = oCalendar.get(Calendar.DAY_OF_MONTH); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String oDateStr = sdf.format(oDate); Date nowDate = new Date(); Calendar nCalendar = Calendar.getInstance(); nCalendar.setTime(nowDate); int nYear = nCalendar.get(Calendar.YEAR); int nMonth = nCalendar.get(Calendar.MONTH); int nDay = nCalendar.get(Calendar.DAY_OF_MONTH); if(oYear==nYear && oMonth==nMonth && oDay==nDay){ isToday = true; } if (oYear==nYear && oMonth==nMonth && nDay-oDay==1){ isYesterday = true; } if(oYear==nYear){ isThisYear = true; } long strat = oDate.getTime(); long now = nowDate.getTime(); long seconds = (now - strat)/1000;//距离现在多少秒 long minute = seconds/60; //距离现在多少分钟 long hour = seconds/3600; //距离现在多少小时 if(isThisYear){ if(isYesterday){ //昨天的时间显示 mTime = "昨天"+oDateStr.substring(oDateStr.indexOf(" ")); } else { if(isToday){ //今天的时间显示 if(seconds<60){ mTime = "1分钟"; } else if(seconds>=60 && seconds<3600){ mTime = minute+"分钟前"; } else if(seconds>3600 && seconds<86400 ){ mTime = hour + "小时前"; } } else { //今年以内的时间显示 mTime = oDateStr.substring(5); } } } else { mTime = oDateStr; } System.out.println(mTime); } catch (ParseException e) { e.printStackTrace(); } return mTime; }}
0 0
- 新浪微博时间转换工具类
- 时间转换工具类
- 时间转换工具类
- 时间转换工具类
- Android 时间转换工具类
- Android工具类(时间转换)
- 时间转换处理工具类
- android 时间转换工具类
- DateUtil时间转换工具类
- 3.时间转换工具类
- ios-新浪微博开发19-账号存储工具类
- Java获取时间 时间计算 转换时间工具类
- 新浪微博API 时间转化
- 新浪微博维护工具 推兔刷积分
- 通用工具-Time时间转换类
- DateUtil工具类时间戳类型转换
- java日期时间转换工具类
- Android 日期时间等转换工具类
- 算法 for_each
- HDU 1269 迷宫城堡 强联通分量模板存放处
- 关于System类的使用方法【小程序】
- [Offer收割]编程练习赛1 hihocoder 1270 建造基地 (完全背包)
- 进程间通信——管道
- 新浪微博时间转换工具类
- 会场安排问题(贪心算法)
- Android知识点整理
- 剑指offer-顺时针打印矩阵
- 7种qsort排序方法
- 2016.3.5【初中部 NOIP提高组 】模拟赛A
- sqlite优化
- ubuntu操作系统安装(二) git
- 安装SVN时,报错:解析不了地址