Fecha fundamentos de la clase Java

Una clase .DATE
número de métodos de clase Fecha están anticuados, obsoletos, no significa que no está todavía disponible, pero no es recomendable, el funcionario sugirió que usamos la clase Calendar.
Fácil de clase fecha de uso

public class DateDemo {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);//Mon Mar 30 18:13:26 CST 2020
        // 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数
        System.out.println(date.getTime());//1585563307686
        //过时方法,但是可以使用
        System.out.println(date.toLocaleString());//2020-3-30 18:14:13
    }
}

Dos .DateFormat clase
fecha DateFormat / hora de formatear subclases de la clase abstracta, que formatea y analiza las fechas o el tiempo de una manera independiente del lenguaje. Fecha / hora de formatear subclases (como el SimpleDateFormat) formato permitido (es decir, la fecha -> texto), análisis (texto -> fecha) y la normalización. La fecha se representa como un objeto Date, o como un número de milisegundos GMT (Greenwich Mean Time) 01 de enero 1970 00:00:00 a partir de este momento.
Los métodos comunes:
①format (Fecha Fecha Fecha) una cadena de fecha / hora formateada.
②getInstance () Obtiene el uso de estilo corto para la fecha y la hora del formateador predeterminado de fecha / hora.
③parse () desde un inicio dado analizar la cadena de texto para generar una fecha.

public class DateFormatDemo {
    public static void main(String[] args) throws ParseException {
        Date date = new Date();
        DateFormat df = DateFormat.getInstance();
        String format = df.format(date);
        System.out.println(format);//20-3-30 下午6:22默认的是短风格的日期格式
        Date date1 = df.parse(format);
        System.out.println(date1);//Mon Mar 30 18:29:00 CST 2020
        df = DateFormat.getDateInstance(DateFormat.LONG);
        String format1 = df.format(date);
        System.out.println(format1);//2020年3月30日.选择风格
        df = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
        String format2 = df.format(date);
        System.out.println(format2);//2020年3月30日 下午06时26分07秒
    }
}

Tres .SimpleDateFormat clase
SimpleDateFormat es una manera local relacionada con la clase concreta de formateo y análisis fechas. Se permite el formateo (fecha -> texto), análisis (texto -> fecha) y la normalización.
SimpleDateFormat permite la selección de una fecha definida por el usuario - el modo de formato de hora. Sin embargo, se recomienda crear una fecha DateFormat por el getTimeInstance, getDateInstance o getDateTimeInstance - formateador tiempo. Cada uno de estos métodos pueden devolver una clase / hora formateador formato de fecha por defecto el modo de inicialización. patrón de formato puede ser modificado de acuerdo con el método necesidad applyPattern.
Aquí Insertar imagen Descripción
Los métodos comunes:
①applyPattern (Patrón de encordado) determinada cadena de patrón a este formato de fecha.

public class SimpleDateFormatDemo {
    public static void main(String[] args) throws ParseException {
        Date date = new Date();
        String pattern="yyyy-MM-dd";//指定风格
        SimpleDateFormat sdf = new SimpleDateFormat();
        sdf.applyPattern(pattern);//将给定模式字符串应用于此日期格式
        String format = sdf.format(date);
        System.out.println(format);//2020-03-30
        Date date1 = sdf.parse(format);
        System.out.println(date1);//Mon Mar 30 00:00:00 CST 2020
    }
}

.Calendar cuatro categorías
clase Calendar es una clase abstracta que proporciona una conversión específica instantánea entre un grupo tal como un campo año calendario, mes, DAY_OF_MONTH, HOUR algún otro método, y el calendario para el campo de operación (por ejemplo, la fecha obtenida próxima semana ) proporciona un número de métodos. Al instante el valor de milisegundos disponible para indicar que se trata de la época (es decir GMT 00 de enero de 1, 1970 son: 00: 00.000, el calendario gregoriano) offset.

public class CalendarDemo {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        //返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象
        Date time = calendar.getTime();
        System.out.println(time);//Mon Mar 30 18:43:52 CST 2020
        //获取HOUR属性的值
        int hour = calendar.get(Calendar.HOUR_OF_DAY);
        System.out.println(hour);//18
    }
}

Cinco pequeña operación (la demanda: la investigación la semana pasada ... información)
Nota: La necesidad meses 1

public class CalendarDemo {
    public static void main(String[] args) {
        // 需求:查询最近一周。。。的信息,如何表示最近这一周
        Date current = new Date();
        Date endTime = null;
        Calendar c = Calendar.getInstance();
        int month=c.get(Calendar.MONTH)+1;
        c.setTime(current);
        //把日增加一天,时分秒设置为0
        c.set(Calendar.MONTH, month);
        c.set(Calendar.DAY_OF_MONTH, 0);
        c.set(Calendar.HOUR_OF_DAY,0);
        c.set(Calendar.MINUTE,0);
        c.set(Calendar.SECOND,0);
        endTime = c.getTime();
        c.add(Calendar.DAY_OF_MONTH, -7);
        Date beginTime = c.getTime();
        System.out.println("开始时间:"+beginTime.toLocaleString());//开始时间:2020-3-24 0:00:00
        System.out.println("结束时间:"+endTime.toLocaleString());//结束时间:2020-3-31 0:00:00
    }
}

Herramientas de seis .Date

public class DateUtils {

    private static final Logger logger = LoggerFactory.getLogger(DateUtils.class);

    /***
     * Date类型转换成XMLGregorianCalendar类型
     *
     * @param date
     * @return
     */
    public static XMLGregorianCalendar convertToXMLGregorianCalendar(Date date) {
        GregorianCalendar cal = new GregorianCalendar();
        cal.setTime(date);
        XMLGregorianCalendar gc = null;
        try {
            gc = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);
        } catch (Exception e) {
            logger.error("Date类型转换成XMLGregorianCalendar类型出错:" + e);
        }
        return gc;
    }

    /***
     * XMLGregorianCalendar类型转换成Date类型
     *
     * @param cal
     * @return
     * @throws Exception
     */
    public static Date convertToDate(XMLGregorianCalendar cal) throws Exception {
        GregorianCalendar ca = cal.toGregorianCalendar();
        return ca.getTime();
    }

    /**
     * String 转 Date
     *
     * @param str    日期字符串
     * @param format 转换格式
     * @return Date
     */
    public static Date stringToDate(String str, String format) {
        DateFormat dateFormat = new SimpleDateFormat(format);
        Date date = null;
        try {
            date = dateFormat.parse(str);
        } catch (ParseException e) {
            logger.error("String类型 转 Date类型出错:" + e);
        }
        return date;
    }

    /**
     * Date 转 String
     * auther: shijing
     * 2015年3月25日上午11:28:14
     *
     * @param date   日期
     * @param format 转换格式
     * @return
     */
    public static String dateToString(Date date, String format) {
        DateFormat dateFormat = new SimpleDateFormat(format);
        String strDate = null;
        try {
            if (date != null) {
                strDate = dateFormat.format(date);
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            logger.error("Date类型 转 String类型出错:" + e);
        }
        return strDate;
    }


    /***
     * 测试方法
     *
     * @param args
     */
    public static void main(String[] args) {
        XMLGregorianCalendar d = DateUtils
                .convertToXMLGregorianCalendar(new Date());
//		System.out.println(d.getDay());
        XMLGregorianCalendar cal = null;
        try {
            cal = DatatypeFactory.newInstance().newXMLGregorianCalendar();
            cal.setMonth(06);
            cal.setYear(2010);
            Date date = DateUtils.convertToDate(cal);
            String format = "yyyy-MM-dd HH:mm:ss";
            SimpleDateFormat formatter = new SimpleDateFormat(format);
//			System.out.println(formatter.format(date));

            Date d1 = DateUtils.stringToDate("2014/7/24 9:51:00", "yyyy/MM/dd hh:mm:ss");
            XMLGregorianCalendar d2 = DateUtils.convertToXMLGregorianCalendar(d1);
//			System.out.println(d2.toString());

            String dateStr = DateUtils.dateToString(cal.toGregorianCalendar().getTime(), "yyyy-MM-dd HH:mm:ss");
//			System.out.println("dateStr="+ dateStr);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
Publicado 99 artículos originales · ganado elogios 2 · Vistas 2622

Supongo que te gusta

Origin blog.csdn.net/weixin_41588751/article/details/105130223
Recomendado
Clasificación