Android TimeUtils 时间工具类

常用时间格式方法

public class TimeUtils {

    private static TimeUtils timeUtils;

    public static TimeUtils get() {
        if (timeUtils == null) {
            timeUtils = new TimeUtils();
        }
        return timeUtils;
    }

    private String format(Object time, SimpleDateFormat format) {
        if (time instanceof String) {
            String s = (String) time;
            if (TextUtils.isEmpty(s)) {
                return format.format(new Date(0));
            } else {
                return format.format(new Date(Long.parseLong(s)));
            }
        } else if (time instanceof Long) {
            long l = (Long) time;
            if (l <= 0) {
                return format.format(new Date(0));
            } else {
                return format.format(new Date(l));
            }
        } else {
            return format.format(new Date(0));
        }
    }


    private long parse(String date, SimpleDateFormat format) {
        if (TextUtils.isEmpty(date)) {
            return 0L;
        } else {
            Date date1;
            try {
                date1 = format.parse(date);
            } catch (ParseException e) {
                e.printStackTrace();
                return 0L;
            }
            return date1.getTime();
        }
    }

    private SimpleDateFormat yyyyMMddhhmmssFormatterC = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");

    public String formatCyyyyMMddhhmmss(Object time) {
        return format(time, yyyyMMddhhmmssFormatterC);
    }

    public long parseCyyyyMMddhhmmss(String date) {
        return parse(date, yyyyMMddhhmmssFormatterC);
    }

    private SimpleDateFormat yyyyMMddhhmmssFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    public String formatyyyyMMddhhmmss(Object time) {
        return format(time, yyyyMMddhhmmssFormatter);
    }

    public long parseyyyyMMddhhmmss(String date) {
        return parse(date, yyyyMMddhhmmssFormatter);
    }

    private SimpleDateFormat yyyyMMddhhmmFormatterC = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");

    public String formatCyyyyMMddhhmm(Object time) {
        return format(time, yyyyMMddhhmmFormatterC);
    }

    public long parseCyyyyMMddhhmm(String date) {
        return parse(date, yyyyMMddhhmmFormatterC);
    }

    private SimpleDateFormat yyyyMMddhhmmFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");

    public String formatyyyyMMddhhmm(Object time) {
        return format(time, yyyyMMddhhmmFormatter);
    }

    public long parseyyyyMMddhhmm(String date) {
        return parse(date, yyyyMMddhhmmFormatter);
    }


    private SimpleDateFormat yyyyMMddFormatterC = new SimpleDateFormat("yyyy年MM月dd日");

    public String formatCyyyyMMdd(Object time) {
        return format(time, yyyyMMddFormatterC);
    }

    public long parseCyyyyMMdd(String date) {
        return parse(date, yyyyMMddFormatterC);
    }

    private SimpleDateFormat yyyyMMddFormatter = new SimpleDateFormat("yyyy-MM-dd");

    public String formaCyyyyMMdd(Object time) {
        return format(time, yyyyMMddFormatter);
    }

    public long parseyyyyMMdd(String date) {
        return parse(date, yyyyMMddFormatter);
    }

    private SimpleDateFormat MMddFormatterC = new SimpleDateFormat("MM月dd日");

    public String formatCMMdd(Object time) {
        return format(time, MMddFormatterC);
    }

    public long parseCMMdd(String date) {
        return parse(date, MMddFormatterC);
    }

    private SimpleDateFormat MMddFormatter = new SimpleDateFormat("MM-dd");

    public String formatMMdd(Object time) {
        return format(time, MMddFormatterC);
    }

    public long parseMMdd(String date) {
        return parse(date, MMddFormatterC);
    }

    private SimpleDateFormat HHmmssFormatter = new SimpleDateFormat("HH:mm:ss");

    public String formatHHmmss(Object time) {
        return format(time, HHmmssFormatter);
    }

    public long parseHHmmss(String date) {
        return parse(date, HHmmssFormatter);
    }

    private SimpleDateFormat HHmmFormatter = new SimpleDateFormat("HH:mm");

    public String formatHHmm(Object time) {
        return format(time, HHmmFormatter);
    }

    public long parseHHmm(String date) {
        return parse(date, HHmmFormatter);
    }

    private SimpleDateFormat yyyyFormatter = new SimpleDateFormat("yyyy");

    public int formatyyyy(Object time) {
        return Integer.parseInt(format(time, yyyyFormatter));
    }

    private SimpleDateFormat MMFormatter = new SimpleDateFormat("MM");

    public int formatMM(Object time) {
        return Integer.parseInt(format(time, MMFormatter));
    }

    private SimpleDateFormat ddFormatter = new SimpleDateFormat("dd");

    public int formatdd(Object time) {
        return Integer.parseInt(format(time, ddFormatter));
    }


    /**
     * 微信聊天显示方式
     */

    public String formatWeChatTime(String time) {
        if (TextUtils.isEmpty(time)) {
            return null;
        } else {
            long timeold = Long.parseLong(time);
            long timenew = System.currentTimeMillis();
            String dayold = ddFormatter.format(timeold);
            String daynew = ddFormatter.format(timenew);

            if ((timenew - timeold) < (24 * 60 * 60 * 1000) && Integer.parseInt(daynew) == Integer.parseInt(dayold)) {
                return HHmmFormatter.format(new Date(Long.parseLong(time)));
            } else if ((timenew - timeold) < (2 * 24 * 60 * 60 * 1000) && Integer.parseInt(daynew) == Integer.parseInt(dayold) + 1) {
                return "昨天";
            } else {
                return MMddFormatter.format(new Date(Long.parseLong(time)));
            }
        }
    }

}

我们不生产代码,我们知识代码的搬运工,如有侵权,本人将第一时间删除
邮箱:zhf6751134@163.com
QQ交流群:336237986

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值