时间日期工具类

/**
* 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;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值