wjc
2024-12-02 f50e8e60e9da99e4f69d8ab76810dc7e5fb448bc
app/src/main/java/com/hdl/photovoltaic/utils/TimeUtils.java
@@ -4,6 +4,7 @@
import android.text.TextUtils;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.enums.TimeType;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.home.HomePageFragment;
import com.hdl.sdk.link.core.utils.LanguageUtils;
@@ -23,8 +24,52 @@
    public static final String zhDateYearFormat = "yyyy";
    public static final String enDateYearMonthDayFormat = "dd/MM/yyyy";
    public static final String enDateYearMonthFormat = "/MM/yyyy";
    public static final String enDateYearMonthFormat = "MM/yyyy";
    public static final String enDateYearFormat = "yyyy";
    /**
     * 获取当前系统日期时间戳
     *
     * @return 时间戳
     */
    public static long getCurrentTimestamp() {
        return new Date().getTime();
    }
    /**
     * 获取日期格式 (2024/2/09,yyyy/DD/dd)
     *
     * @return 日期格式 (2024/2/09,yyyy/DD/dd)
     */
    public static String getTimeDateFormat(String timeType) {
        String timeDateFormat = TimeUtils.zhDateYearMonthDayFormat;
        switch (timeType) {
            case TimeType.day: {
                timeDateFormat = TimeUtils.zhDateYearMonthDayFormat;
                if (!UserConfigManage.getInstance().isZh()) {
                    timeDateFormat = TimeUtils.enDateYearMonthDayFormat;
                }
            }
            break;
            case TimeType.month: {
                timeDateFormat = TimeUtils.zhDateYearMonthFormat;
                if (!UserConfigManage.getInstance().isZh()) {
                    timeDateFormat = TimeUtils.enDateYearMonthFormat;
                }
            }
            break;
            case TimeType.year:
            case TimeType.all: {
                timeDateFormat = TimeUtils.zhDateYearFormat;
                if (!UserConfigManage.getInstance().isZh()) {
                    timeDateFormat = TimeUtils.enDateYearFormat;
                }
            }
            break;
        }
        return timeDateFormat;
    }
    /**
     * 获取分钟
@@ -34,7 +79,7 @@
     */
    public static String getMinuteTime(long timestamp) {
        try {
            SimpleDateFormat dateFormat = new SimpleDateFormat("mm", Locale.ENGLISH);
            SimpleDateFormat dateFormat = new SimpleDateFormat("mm", getLocale());
            Date date = new Date(timestamp);
            return dateFormat.format(date);
        } catch (Exception e) {
@@ -52,7 +97,7 @@
     */
    public static String getDateTimestamp(long timestamp, String date_format) {
        try {
            SimpleDateFormat dateFormat = new SimpleDateFormat(date_format, Locale.ENGLISH);
            SimpleDateFormat dateFormat = new SimpleDateFormat(date_format, getLocale());
            Date date = new Date(timestamp);
            return dateFormat.format(date);
        } catch (Exception e) {
@@ -73,7 +118,7 @@
            if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(LocalManageUtil.en)) {
                pattern = "dd-MM-yyyy HH:mm";
            }
            SimpleDateFormat dateFormat = new SimpleDateFormat(pattern, Locale.ENGLISH);
            SimpleDateFormat dateFormat = new SimpleDateFormat(pattern, getLocale());
            Date date = new Date(timestamp);
            return dateFormat.format(date);
        } catch (Exception e) {
@@ -113,14 +158,22 @@
     * @param dayMonthYearToAdd 天数(日,月,年)
     * @return 日历
     */
    public static String addDayMonthYearToDate(Calendar date, int dayMonthYearToAdd, String dateFormat, HomePageFragment.TimeType timeType) {
    public static String addDayMonthYearToDate(Calendar date, int dayMonthYearToAdd, String dateFormat, String timeType) {
        Calendar newDate = (Calendar) date.clone();
        if (timeType == HomePageFragment.TimeType.day) {
            newDate.add(Calendar.DAY_OF_MONTH, dayMonthYearToAdd);
        } else if (timeType == HomePageFragment.TimeType.month) {
            newDate.add(Calendar.MONTH, dayMonthYearToAdd);
        } else if (timeType == HomePageFragment.TimeType.year || timeType == HomePageFragment.TimeType.lifecycle) {
            newDate.add(Calendar.YEAR, dayMonthYearToAdd);
        switch (timeType) {
            case TimeType.day: {
                newDate.add(Calendar.DAY_OF_MONTH, dayMonthYearToAdd);
            }
            break;
            case TimeType.month: {
                newDate.add(Calendar.MONTH, dayMonthYearToAdd);
            }
            break;
            case TimeType.year:
            case TimeType.all: {
                newDate.add(Calendar.YEAR, dayMonthYearToAdd);
            }
            break;
        }
        return calendarToString(newDate, dateFormat);
    }
@@ -132,14 +185,22 @@
     * @param dayMonthYearToSubtract 天数
     * @return 日历
     */
    public static String subtractDayMonthYearFromDate(Calendar date, int dayMonthYearToSubtract, String dateFormat, HomePageFragment.TimeType timeType) {
    public static String subtractDayMonthYearFromDate(Calendar date, int dayMonthYearToSubtract, String dateFormat, String timeType) {
        Calendar newDate = (Calendar) date.clone();
        if (timeType == HomePageFragment.TimeType.day) {
            newDate.add(Calendar.DAY_OF_MONTH, -dayMonthYearToSubtract);
        } else if (timeType == HomePageFragment.TimeType.month) {
            newDate.add(Calendar.MONTH, -dayMonthYearToSubtract);
        } else if (timeType == HomePageFragment.TimeType.year) {
            newDate.add(Calendar.YEAR, -dayMonthYearToSubtract);
        switch (timeType) {
            case TimeType.day: {
                newDate.add(Calendar.DAY_OF_MONTH, -dayMonthYearToSubtract);
            }
            break;
            case TimeType.month: {
                newDate.add(Calendar.MONTH, -dayMonthYearToSubtract);
            }
            break;
            case TimeType.year:
            case TimeType.all: {
                newDate.add(Calendar.YEAR, -dayMonthYearToSubtract);
            }
            break;
        }
        return calendarToString(newDate, dateFormat);
    }
@@ -167,7 +228,7 @@
     * @return Calendar对象
     */
    public static Calendar stringToCalendar(String dateString, String dateFormat) {
        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, Locale.ENGLISH);
        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, getLocale());
        Calendar calendar = Calendar.getInstance();
        try {
            Date date = sdf.parse(dateString);
@@ -186,7 +247,7 @@
     * @return Calendar对象
     */
    public static String calendarToString(Calendar calendar, String dateFormat) {
        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, Locale.ENGLISH);
        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, getLocale());
        return sdf.format(calendar.getTime());
    }
@@ -197,7 +258,7 @@
     * @return Calendar对象
     */
    public static String dateToString(Date date, String dateFormat) {
        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, Locale.ENGLISH);
        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, getLocale());
        return sdf.format(date.getTime());
    }
@@ -210,7 +271,7 @@
     */
    public static long stringDateToTimestamp(String dateString, String dateFormat) {
        try {
            SimpleDateFormat slf = new SimpleDateFormat(dateFormat, Locale.getDefault());
            SimpleDateFormat slf = new SimpleDateFormat(dateFormat, getLocale());
            Date date = slf.parse(dateString);
            if (date == null) {
                return 0;
@@ -221,4 +282,8 @@
        return 0;
    }
    private static Locale getLocale() {
        return Locale.ENGLISH;
    }
}