Android 时间工具类 获取当前时间/昨天时间/一周前/一个月/一年前时间

Posted null.....

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 时间工具类 获取当前时间/昨天时间/一周前/一个月/一年前时间相关的知识,希望对你有一定的参考价值。

/**
 * @Package: com.swit.hse.util
 * @ClassName: TimeUtil
 * @Author: szj
 * @CreateDate: 5/19/21 1:11 PM
 * @UpdateRemark: 时间工具类:获取当前时间/昨天时间/一周前/一个月/一年前时间
 * @Version: 1.0
 */
public class TimeUtil {
    private SimpleDateFormat format;

    private TimeUtil() {
    }

    private static volatile TimeUtil mTileUtil;
    Calendar c;


    public static TimeUtil getInstance() {
        if (mTileUtil == null) {
            synchronized (TimeUtil.class) {
                if (mTileUtil == null) {


                    mTileUtil = new TimeUtil();
                }
            }
        }
        return mTileUtil;
    }

    /**
     * 获取当前时间
     * @return
     */
    public String getCurrentTime() {
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
            initData();
            long currentTime = System.currentTimeMillis();
            String timeNow = new SimpleDateFormat("yyyy-MM-dd").format(currentTime);
            return timeNow;
        }
        return "不支持获取";
    }

    /**
     * 获取昨天时间
     *
     * @return
     */
    public String getYesterdayTime() {
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
            initData();
            //过去七天
            c.setTime(new Date());
            c.add(Calendar.DATE, -1);
            Date d = c.getTime();
            String day = format.format(d);
            return day;
        }
        return "不支持获取";
    }

    /**
     * 获取一周前的时间
     *
     * @return
     */
    public String getTimeAWeek() {
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
            initData();
            //过去七天
            c.setTime(new Date());
            c.add(Calendar.DATE, -7);
            Date d = c.getTime();
            String day = format.format(d);
            return day;
        }
        return "不支持获取";
    }

    /**
     * 获取一个月前的时间
     *
     * @return
     */
    public String getTimeOneMonth() {
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
            initData();
            //获取一个月前的时间
            c.setTime(new Date());
            c.add(Calendar.MONTH, -1);
            Date m = c.getTime();
            String mon = format.format(m);
            return mon;
        }
        return "不支持获取";
    }

    /**
     * 获取一个年前的时间
     *
     * @return
     */
    public String getTimeOneYear() {
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
            initData();
            //获取一个年前的时间
            c.setTime(new Date());
            c.add(Calendar.YEAR, -1);
            Date y = c.getTime();
            String year = format.format(y);
            return year;
        }
        return "不支持获取";
    }


    private void initData() {
        if (c == null) {
            c = Calendar.getInstance();
        }
        if (format == null && android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
//            format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//年月日 - 时分秒
            format = new SimpleDateFormat("yyyy-MM-dd");
        }
    }
}

以上是关于Android 时间工具类 获取当前时间/昨天时间/一周前/一个月/一年前时间的主要内容,如果未能解决你的问题,请参考以下文章

Android 获取手机的厂商型号Android系统版本号IMEI当前系统语言等工具类

Java返回昨天凌晨时间和今天凌晨时间的工具类

如何检查时间戳(纪元时间)是今天还是昨天的[android]

JS如何利用当前时间来获取昨天的时间

js获取当前时间(昨天今天明天)

获取当前系统时间工具类TimeUtils