/**
* Created by 张玉水 on 2016/7/12.
*/
public class TimeUtils {
//毫秒值,转换成距离现在多少时间。
public static String ms2TimeString(long ms){
long currentTimeMillis = System.currentTimeMillis();
long offms = currentTimeMillis - ms;
if (offms<0){
return "Time illegal";
}else {
if (offms<3600*1000){
return offms/1000/60+"分钟前";
}else if(offms<3600L*1000*24){
return offms/1000L/60/60+"小时前";
}else if (offms>=3600L*1000*24 && offms<3600L*1000*24*2){
return "昨天";
}else if (offms>=3600L*1000*24*2 && offms< 3600L*1000*24*365 ){
return offms/1000L/60/60/24+"天前";
}else if (offms>=3600L*1000*24*365){
return offms/1000L/60/60/24/365+"年前";
}
}
return "Time illegal";
}
//将一个时间的字符串 2015-6-7 计算到现在的 X岁X个月
public static String getAge(String birthdayTime){
Date date1 = String2Date(birthdayTime);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date date2 = String2Date(sdf.format(new Date()));
return getResult(date1,date2);
}
public static String getResult(Date d1,Date d2){
if (d1.after(d2)){
return "birthday illegal";
}
Calendar c = Calendar.getInstance();
c.setTime(d1);
int year1 = c.get(Calendar.YEAR);
int month1 = c.get(Calendar.MONTH);
c.setTime(d2);
int year2 = c.get(Calendar.YEAR);
int month2 = c.get(Calendar.MONTH);
int yearResult;
int monthResult;
String result="";
if (month1>=month2){
monthResult=12-(month1-month2);
yearResult=year2-year1-1;
}else {
monthResult=month2-month1;
yearResult=year2-year1;
}
if (yearResult<0){
yearResult=0;
}
if (yearResult!=0&& monthResult!=0){
result=yearResult+"岁"+monthResult+"个月";
}else if (yearResult!=0&& monthResult==0){
result=yearResult+"岁";
}else if (yearResult==0&& monthResult!=0){
result=monthResult+"个月";
}
return result;
}
// 比较两个日期相差多少天
public static int daysOfTwo(Date fDate, Date oDate) {
Calendar aCalendar = Calendar.getInstance();
aCalendar.setTime(fDate);
int day1 = aCalendar.get(Calendar.DAY_OF_YEAR);
aCalendar.setTime(oDate);
int day2 = aCalendar.get(Calendar.DAY_OF_YEAR);
return day2 - day1;
}
private String getDateHourMin(Date date) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String time = format.format(date);
return time;
}
/**
* 字符串转日期
*
* @param str
* @return
*/
@SuppressLint("SimpleDateFormat")
private Date StrToDate(String str) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date date = null;
try {
date = format.parse(str);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date;
}
/**
* @author 张玉水
* @date 2016-5-6 下午5:43:46 TODO 将字符串转成date
* @param date
* @return
*/
public static Date String2Date(String date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
return sdf.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
@SuppressLint("SimpleDateFormat")
private Date StrToHour(String str) {
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
Date date = null;
try {
date = format.parse(str.trim());
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}