• 关于java日期


    时间戳转为yyyy-MM-dd

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String formatDate = sdf.format(new Date(Long.parseLong(时间戳)));


    -----------------------------------------------------------------------------------------------------------------------------

    DateUtil.toDate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(String.valueOf(objects[4])), DateUtil.DATETIME_PATTERN);

    public class DateUtil {

        public static final String DATETIME_PATTERN = "yyyy-MM-dd HH:mm:ss";

        public static final String DATE_PATTERN = "yyyy-MM-dd";

        public static final String MONTH_PATTERN = "yyyy-MM";

        /**
         * 转换为字符串.
         */
        public static final String toString(Date date, String pattern) {
            String result = null;

            if (date != null) {
                result = DateFormatUtils.format(date, pattern);
            }

            return result;
        }

        /**
         * 转换为java.util.Date对象.
         *
         * @param value
         *            带转换对象
         * @param pattern
         *            日期格式
         * @return 对应的Date对象
         */
        public static final Date toDate(Object value, String pattern) {
            Date result = null;

            if (value instanceof String) {
                if (StringUtils.isNotEmpty((String) value)) {
                    try {
                        result = DateUtils.parseDate((String) value,
                                new String[] { pattern });
                    } catch (ParseException e) {
                    }

                    if (result == null && StringUtils.isNotEmpty((String) value)) {
                        result = new Date(new Long((String) value).longValue());
                    }
                }
            } else if (value instanceof Object[]) {
                Object[] array = (Object[]) value;

                if ((array != null) && (array.length >= 1)) {
                    value = array[0];
                    result = toDate(value, pattern);
                }
            } else if (Date.class.isAssignableFrom(value.getClass())) {
                result = (Date) value;
            }

            return result;
        }

        /**
         * 转换为java.util.Date对象.
         *
         * @param value
         *            带转换对象
         * @return 对应的Date对象
         */
        public static final Date toDate(Object value) {
            Date result = null;

            if (value instanceof String) {
                if (StringUtils.isNotEmpty((String) value)) {
                    try {
                        result = DateUtils.parseDate((String) value, new String[] {
                                DATE_PATTERN, DATETIME_PATTERN, MONTH_PATTERN });
                    } catch (ParseException e) {
                    }

                    if (result == null && StringUtils.isNotEmpty((String) value)) {
                        result = new Date(new Long((String) value).longValue());
                    }
                }
            } else if (value instanceof Object[]) {
                Object[] array = (Object[]) value;

                if ((array != null) && (array.length >= 1)) {
                    value = array[0];
                    result = toDate(value);
                }
            } else if (Date.class.isAssignableFrom(value.getClass())) {
                result = (Date) value;
            }

            return result;
        }

        /**
         * 获取<code>date</code>同一年的第一天.
         */
        public static final Date getFirstDateOfYear(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            cal.set(Calendar.DAY_OF_YEAR, 1);
            return cal.getTime();
        }

        /**
         * 获取<code>date</code>同一年的第后一天.
         */
        public static final Date getLastDateOfYear(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(getFirstDateOfYear(date));
            cal.set(Calendar.YEAR, cal.get(Calendar.YEAR) + 1);
            cal.add(Calendar.DAY_OF_YEAR, -1);
            return cal.getTime();
        }

        /**
         * 给<code>date</code>追加<code>year</code>年.
         */
        public static final Date addYear(Date date, int year) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            cal.add(Calendar.YEAR, year);
            return cal.getTime();
        }

        /**
         * 获取<code>date</code>同月份的第一天.
         */
        public static final Date getFirstDateOfMonth(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            cal.set(Calendar.DAY_OF_MONTH, 1);
            return cal.getTime();
        }

        /**
         * 获取<code>date</code>同月份的第后一天.
         */
        public static final Date getLastDateOfMonth(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(getFirstDateOfMonth(date));
            cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1);
            cal.add(Calendar.DAY_OF_YEAR, -1);
            return cal.getTime();
        }

        /**
         * 给<code>date</code>追加<code>month</code>月.
         */
        public static final Date addMonth(Date date, int month) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            cal.add(Calendar.MONTH, month);
            return cal.getTime();
        }

        /**
         * 获取<code>date</code>同周的星期一.
         */
        public static final Date getFirstDateOfWeek(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            cal.setFirstDayOfWeek(Calendar.MONDAY);
            cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
            return cal.getTime();
        }

        /**
         * 获取<code>date</code>同周的星期日.
         */
        public static final Date getLastDateOfWeek(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            cal.setFirstDayOfWeek(Calendar.MONDAY);
            cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
            return cal.getTime();
        }

        /**
         * 给<code>date</code>追加<code>week</code>周.
         */
        public static final Date addWeek(Date date, int week) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            cal.add(Calendar.WEEK_OF_YEAR, week);
            return cal.getTime();
        }

        /**
         * 给<code>date</code>追加<code>day</code>天.
         */
        public static final Date addDay(Date date, int day) {
            Calendar c = Calendar.getInstance();
            c.setTime(date);
            c.add(Calendar.DATE, day);

            return c.getTime();
        }

        /**
         * 给<code>date</code>追加<code>hour</code>小时.
         */
        public static final Date addHour(Date date, int hour) {
            Calendar c = Calendar.getInstance();
            c.setTime(date);
            c.add(Calendar.HOUR_OF_DAY, hour);

            return c.getTime();
        }

        /**
         * 给<code>date</code>追加<code>minute</code>分钟.
         */
        public static final Date addMinute(Date date, int minute) {
            Calendar c = Calendar.getInstance();
            c.setTime(date);
            c.add(Calendar.MINUTE, minute);

            return c.getTime();
        }

        public static final Date stringToDate(String dateStr, String format) {
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            Date date = null;
            try {
                date = sdf.parse(dateStr);
            } catch (ParseException e) {
            }
            return date;
        }
        
        /**
         * 获取<code>date</code>当月总共天数
         */
        public static final int getDays(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            return cal.getActualMaximum(Calendar.DAY_OF_MONTH);
        }
        
        /**
         * 获取<code>date</code>当月年
         */
        public static final int getYear(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            return cal.get(Calendar.YEAR);
        }
        
        /**
         * 获取<code>date</code>当前月
         */
        public static final int getMonth(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            return cal.get(Calendar.MONTH)+1;
        }
        
        /**
         * 获取<code>date</code>当前日
         */
        public static final int getDay(Date date) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            return cal.get(Calendar.DAY_OF_MONTH);
        }

        /**
         * 构造函数.
         */
        private DateUtil() {
        }
    }

  • 相关阅读:
    三步搭建精准召回体系,挽回流失用户
    HMS Core Insights第二期直播预告——华为定位技术让你重拾方向感
    如何区分router.push跳转快应用的来源渠道
    华为预测服务的构建原理是什么?该如何训练模型?
    HarmonyOS开发者日干货资料,奉上!
    技术硬核、体验新颖……HarmonyOS开发者日最值得关注的点都在这里
    Js中Proxy对象
    迭代器模式
    ed命令
    百度实习生前端面试面经
  • 原文地址:https://www.cnblogs.com/baobeiqi-e/p/9884768.html
Copyright © 2020-2023  润新知