您的位置:首页 > 移动开发 > Android开发

android 有关毫秒转时间的方法,及时间间隔等

2016-05-04 13:01 316 查看
毫秒转时间

注意:”HH:mm:ss”是24小时制的,”hh:mm:ss”是12小时制。

看代码:

/**
* Created by baiyuanwei on 16/5/3.
* <p/>
* "HH:mm:ss"是24小时制的,"hh:mm:ss"是12小时制。
*/
public class TimeUtil {

/**
* 从时间(毫秒)中提取出日期
*
* @param millisecond
* @return
*/
public static String getDateFromMillisecond(Long millisecond) {

Date date = null;
try {
date = new Date(millisecond);
} catch (Exception e) {
e.printStackTrace();
}

Calendar current = Calendar.getInstance();

////今天
Calendar today = Calendar.getInstance();

today.set(Calendar.YEAR, current.get(Calendar.YEAR));
today.set(Calendar.MONTH, current.get(Calendar.MONTH));
today.set(Calendar.DAY_OF_MONTH, current.get(Calendar.DAY_OF_MONTH));

//  Calendar.HOUR——12小时制的小时数 Calendar.HOUR_OF_DAY——24小时制的小时数
today.set(Calendar.HOUR_OF_DAY, 0);
today.set(Calendar.MINUTE, 0);
today.set(Calendar.SECOND, 0);

//昨天
Calendar yesterday = Calendar.getInstance();

yesterday.set(Calendar.YEAR, current.get(Calendar.YEAR));
yesterday.set(Calendar.MONTH, current.get(Calendar.MONTH));
yesterday.set(Calendar.DAY_OF_MONTH, current.get(Calendar.DAY_OF_MONTH) - 1);
yesterday.set(Calendar.HOUR_OF_DAY, 0);
yesterday.set(Calendar.MINUTE, 0);
yesterday.set(Calendar.SECOND, 0);

// 今年
Calendar thisYear = Calendar.getInstance();

thisYear.set(Calendar.YEAR, current.get(Calendar.YEAR));
thisYear.set(Calendar.MONTH, 0);
thisYear.set(Calendar.DAY_OF_MONTH, 0);
thisYear.set(Calendar.HOUR_OF_DAY, 0);
thisYear.set(Calendar.MINUTE, 0);
thisYear.set(Calendar.SECOND, 0);

current.setTime(date);

//今年以前
if (current.before(thisYear)) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = format.format(date);
return dateStr;
} else if (current.after(today)) {
return "今天";
} else if (current.before(today) && current.after(yesterday)) {
return "昨天";
} else {
SimpleDateFormat format = new SimpleDateFormat("MM-dd");
String dateStr = format.format(date);
return dateStr;
}
}

/**
* 从时间(毫秒)中提取出时间(时:分)
* 时间格式:  时:分
*
* @param millisecond
* @return
*/
public static String getTimeFromMillisecond(Long millisecond) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
Date date = new Date(millisecond);
String timeStr = simpleDateFormat.format(date);
return timeStr;
}

/**
* 将毫秒转化成固定格式的时间
* 时间格式: yyyy-MM-dd HH:mm:ss
*
* @param millisecond
* @return
*/
public static String getDateTimeFromMillisecond(Long millisecond){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(millisecond);
String dateStr = simpleDateFormat.format(date);
return dateStr;
}
/**
* 将时间转化成毫秒
* 时间格式: yyyy-MM-dd HH:mm:ss
*
* @param time
* @return
*/
public static Long timeStrToSecond(String time) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Long second = format.parse(time).getTime();
return second;
} catch (Exception e) {
e.printStackTrace();
}

return -1l;
}

/**
* 获取时间间隔
*
* @param millisecond
* @return
*/
public static String getSpaceTime(Long millisecond) {
Calendar calendar = Calendar.getInstance();
Long currentMillisecond = calendar.getTimeInMillis();

//间隔秒
Long spaceSecond = (currentMillisecond - millisecond) / 1000;

//一分钟之内
if (spaceSecond >= 0 && spaceSecond < 60) {
return "片刻之前";
}
//一小时之内
else if (spaceSecond / 60 > 0 && spaceSecond / 60 < 60) {
return spaceSecond / 60 + "分钟之前";
}
//一天之内
else if (spaceSecond / (60 * 60) > 0 && spaceSecond / (60 * 60) < 24) {
return spaceSecond / (60 * 60) + "小时之前";
}
//3天之内
else if (spaceSecond/(60*60*24)>0&&spaceSecond/(60*60*24)<3){
return spaceSecond/(60*60*24)+"天之前";
}else {
return getDateTimeFromMillisecond(millisecond);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android