关闭

日期时间处理工具类总结

标签: 时间日期获取当前日期
59人阅读 评论(0) 收藏 举报
分类:
public class DateUtils {

    /**
     * 返回unix时间戳 (1970年至今的秒数)
     *
     * @return
     */
    public static long getUnixStamp() {
        return System.currentTimeMillis() / 1000;
    }
    /**
     * 得到昨天的日期
     *
     * @return
     */
    public static String getHourDate(long timeStamp) {
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
        String date = sdf.format(timeStamp * 1000);
        return date;
    }
    /**
     * 得到昨天的日期
     *
     * @return
     */
    public static String getYestoryDate() {
        Calendar calendar = Calendar.getInstance();
        calendar.add(Calendar.DATE, -1);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String yestoday = sdf.format(calendar.getTime());
        return yestoday;
    }

    /**
     * 得到今天的日期
     *
     * @return
     */
    public static String getTodayDate() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String date = sdf.format(new Date());
        return date;
    }

    /**
     * 时间戳转化为时间格式
     *
     * @param timeStamp
     * @return
     */
    public static String timeStampToStr(long timeStamp) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String date = sdf.format(timeStamp * 1000);
        return date;
    }

    /**
     * 得到日期   yyyy-MM-dd
     *
     * @param timeStamp 时间戳
     * @return
     */
    public static String formatDate(long timeStamp) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String date = sdf.format(timeStamp * 1000);
        return date;
    }
    /**
     * 获取时间
     * @param date
     * @return
     */
    @SuppressLint("SimpleDateFormat")
    public static String getDate(Date date) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        return format.format(date);
    }
    /**
     * 得到时间  HH:mm:ss
     *
     * @param timeStamp 时间戳
     * @return
     */
    public static String getTime(long timeStamp) {
        String time = null;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String date = sdf.format(timeStamp * 1000);
        String[] split = date.split("\\s");
        if (split.length > 1) {
            time = split[1];
        }
        return time;
    }

    /**
     * 将一个时间戳转换成提示性时间字符串,如刚刚,1秒前
     *
     * @param timeStamp
     * @return
     */
    public static int convertTimeToFormat(long timeStamp) {
        long curTime = System.currentTimeMillis() / (long) 1000;
        long time = curTime - timeStamp;

        switch (convertTime(timeStamp)) {
            case 0:
                break;
            case 1:
                return (int) (time / 60);
            case 2:
                return (int) (time / 3600);
            case 3:
                return (int) (time / 3600 / 24);
            case 4:
                return (int) (time / 3600 / 24 / 30);
            case 5:
                return (int) (time / 3600 / 24 / 30 / 12);
            default:
        }
        return -1;
    }

    /**
     * 将一个时间戳转换成提示性时间字符串,如刚刚,1秒前
     * <p/>
     * 0:刚刚
     * 1:分钟前
     * 2:小时前
     * 3:天前
     * 4:个月前
     * 5:年前
     *
     * @param timeStamp
     * @return
     */
    public static int convertTime(long timeStamp) {
        long curTime = System.currentTimeMillis() / (long) 1000;
        long time = curTime - timeStamp;

        if (time < 60 && time >= 0) {
            return 0;
        } else if (time >= 60 && time < 3600) {
            return 1;
        } else if (time >= 3600 && time < 3600 * 24) {
            return 2;
        } else if (time >= 3600 * 24 && time < 3600 * 24 * 30) {
            return 3;
        } else if (time >= 3600 * 24 * 30 && time < 3600 * 24 * 30 * 12) {
            return 4;
        } else if (time >= 3600 * 24 * 30 * 12) {
            return 5;
        } else {
            return 0;
        }
    }

    /**
     * 将一个时间戳转换成提示性时间字符串,(多少分钟)
     *
     * @param timeStamp
     * @return
     */
    public static String timeStampToFormat(long timeStamp) {
        long curTime = System.currentTimeMillis() / (long) 1000;
        long time = curTime - timeStamp;
        return time / 60 + "";
    }

}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13366次
    • 积分:502
    • 等级:
    • 排名:千里之外
    • 原创:39篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类