`

java对日期的操作和运用说明

阅读更多
对日期的操作主要可以用
java.text.SimpleDateFormat
java.util.Calendar
java.util.Date
进行操作,也可以用apacle commons中的commons-lang包下的
org.apache.commons.lang.time.DateUtils来对日期就行操作
下面写的一些操作日期的的工具类
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import org.apache.log4j.Logger;

public class DateUtils {
    private static final Logger log = Logger.getLogger(DateUtils.class);

    /**
     * 将字符串日期转换为Date
     * 
     * @param s
     * @return
     */
    public static Date convertToDate(String s) {
        DateFormat df;
        if (s == null) {
            return null;
        }
        if (s.contains(":")) {
            try {
                df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                return df.parse(s);
            } catch (Exception e) {
                log.error(e);
                return null;
            }
        } else {
            try {
                df = new SimpleDateFormat("yyyy-MM-dd");
                return df.parse(s);
            } catch (Exception e) {
                log.error(e);
                return null;
            }
        }
    }

    /**
     * 将Date转换为String
     * 
     * @param d
     * @return
     */
    public static String formatDate(Date d) {
        if (d == null) {
            return null;
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            return sdf.format(d);
        } catch (Exception e) {
            log.error(e);
            return null;
        }
    }

    /**
     * 将Date转换为String
     * 
     * @param d
     * @return
     */
    public static String formatTime(Date d) {
        if (d == null) {
            return null;
        }
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        try {
            return sdf.format(d);
        } catch (Exception e) {
            log.error(e);
            return null;
        }
    }

    public static String formatTimeHHmm(Date d) {
        if (d == null) {
            return null;
        }
        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
        try {
            return sdf.format(d);
        } catch (Exception e) {
            log.error(e);
            return null;
        }
    }

    /**
     * 将Date按locale转换为String
     * 
     * @param d
     * @return
     */
    public static String formatLocaleDate(Date d, Locale locale) {
        if (d == null) {
            return null;
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", locale);
        try {
            return sdf.format(d);
        } catch (Exception e) {
            log.error(e);
            return null;
        }
    }

    /**
     * 将Date按locale转换为String
     * 
     * @param d
     * @return
     */
    public static String formatLocaleDateTime(Date d, Locale locale) {
        if (d == null) {
            return null;
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", locale);
        try {
            return sdf.format(d);
        } catch (Exception e) {
            log.error(e);
            return null;
        }
    }

    /**
     * 将Date转换为String
     * 
     * @param d
     * @return
     */
    public static String formatDateTime(Date d) {
        if (d == null) {
            return null;
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            return sdf.format(d);
        } catch (Exception e) {
            log.error(e);
            return null;
        }
    }

    /**
     * 得到每月多少天
     * 
     * @param year
     * @param month
     * @return 返回 -1表示异常
     */
    public static int getDaysByMonth(int year, int month) {
        if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
            return 31;
        }

        if (month == 4 || month == 6 || month == 9 || month == 11)
            return 30;

        if (month == 2) {
            if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
                return 29;
            } else {
                return 28;
            }
        }
        return -1;
    }

    public static String dayOfWeekByDayNum(int x) {
        String str = "周日";
        if (x == 7) {
            str = "周六";
        } else if (x == 6) {
            str = "周五";
        } else if (x == 5) {
            str = "周四";
        } else if (x == 4) {
            str = "周三";
        } else if (x == 3) {
            str = "周二";
        } else if (x == 2) {
            str = "周一";
        }
        return str;
    }

    /**
     * 据年、月、日,获得当天为周几
     * 
     * @param year
     * @param month
     * @param day
     * @return
     */
    public static int getWeekByDate(int year, int month, int day) {
        Calendar c = Calendar.getInstance();
        c.set(Calendar.YEAR, year);
        c.set(Calendar.MONTH, month - 1);
        c.set(Calendar.DAY_OF_MONTH, day);

        return c.get(Calendar.DAY_OF_WEEK);
    }

    /**
     * 得到现在是这个周的第几天
     * 
     * @return
     */
    public static int getWeekByDate() {
        Calendar c = Calendar.getInstance();
        return c.get(Calendar.DAY_OF_WEEK);
    }

    public static List<String> monthDiff(Date date1, Date date2) throws Exception {
        List<String> monthList = new ArrayList<String>();

        if (DateUtils.dateDiff(date1, date2) < 0) {
            return monthList;
        }

        Calendar calendar1 = Calendar.getInstance();
        Calendar calendar2 = Calendar.getInstance();
        calendar1.setTime(date1);
        calendar2.setTime(date2);
        while (DateUtils.dateDiff(calendar1.getTime(), calendar2.getTime()) >= 0) {
            monthList.add(DateUtils.formatDate(calendar1.getTime()));
            calendar1.set(Calendar.DAY_OF_MONTH, 1);
            calendar1.set(Calendar.MONTH, calendar1.get(Calendar.MONTH) + 1);
        }
        if (monthList.size() > 0) {
            monthList.remove(monthList.size() - 1);
            monthList.add(DateUtils.formatDate(date2));
        }

        return monthList;
    }

    /**
     * 计算两个日期之间相差多少天
     * 
     * @param date1
     * @param date2
     * @return
     */
    public static int dateDiff(Date date1, Date date2) {
        Calendar calendar1 = Calendar.getInstance();
        Calendar calendar2 = Calendar.getInstance();
        calendar1.setTime(date1);
        calendar2.setTime(date2);
        long increaseDate = (calendar2.getTimeInMillis() - calendar1.getTimeInMillis()) / 1000 / 60 / 60 / 24;
        if (((calendar2.getTimeInMillis() - calendar1.getTimeInMillis()) % (1000 * 60 * 60 * 24)) > 0) {
            increaseDate = increaseDate + 1;
        }
        return (int) increaseDate;
    }

    /**
     * 取得两天之间的天数
     * 
     * @param start
     * @param end
     * @return
     */
    public static int daysBetween(Date start, Date end) {
        // return date1.getTime() / (24*60*60*1000) - date2.getTime() /
        // (24*60*60*1000);
        String formatDate = formatDate(start);
        Date convertStartDate = convertToDate(formatDate);
        formatDate = formatDate(end);
        Date convertEndDate = convertToDate(formatDate);
        return (int) (convertEndDate.getTime() / 86400000 - convertStartDate.getTime() / 86400000); // 用立即数,减少乘法计算的开销
    }

    /**
     * 取得两天之间的日期数组,包含开始日期与结束日期
     * 
     * @param startDateStr
     *            开始日期
     * @param endDateStr
     *            结束日期
     * @return Date[] 日期数组
     */
    public static Date[] getBetweenTwoDayArray(String startDateStr, String endDateStr) {
        Date startDate = formatDateYyyyMmDd(startDateStr);
        int dateNum = Integer.parseInt(getDaysBetweenTwoDates(startDateStr, endDateStr)) + 1;
        Date[] dataArray = new Date[dateNum];
        for (int i = 0; i < dateNum; i++) {
            dataArray[i] = startDate;
            startDate = org.apache.commons.lang.time.DateUtils.addDays(startDate, 1);
        }
        return dataArray;
    }

    /**
     * 把日期字符串格式化为日期类型
     * 
     * @param datetext
     * @return
     */
    public static Date formatDateYyyyMmDd(String datetext) {
        try {
            SimpleDateFormat df;
            if (datetext == null || "".equals(datetext.trim())) {
                return null;
            }
            datetext = datetext.replaceAll("/", "-");
            df = new SimpleDateFormat("yyyy-MM-dd");
            Date date = df.parse(datetext);
            return date;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    /*
     * 两个日期之间相隔天数的共通 author:jerry.ji date:08-03-06
     * 
     * @param from 開始時間
     * 
     * @param to 終了時間
     * 
     * @return 天数
     */
    public static String getDaysBetweenTwoDates(String dateFrom, String dateEnd) {
        Date dtFrom = null;
        Date dtEnd = null;
        dtFrom = string2Date(dateFrom, "yyyy-MM-dd");
        dtEnd = string2Date(dateEnd, "yyyy-MM-dd");
        long begin = dtFrom.getTime();
        long end = dtEnd.getTime();
        long inter = end - begin;
        if (inter < 0) {
            inter = inter * (-1);
        }
        long dateMillSec = 24 * 60 * 60 * 1000;

        long dateCnt = inter / dateMillSec;

        long remainder = inter % dateMillSec;

        if (remainder != 0) {
            dateCnt++;
        }
        return String.valueOf(dateCnt);
    }

    /**
     * 把日期字符串格式化为日期类型
     * 
     * @param datetext
     *            日期字符串
     * @param format
     *            日期格式,如果不传则使用"yyyy-MM-dd HH:mm:ss"格式
     * @return
     */
    public static Date string2Date(String datetext, String format) {
        try {
            SimpleDateFormat df;
            if (datetext == null || "".equals(datetext.trim())) {
                return new Date();
            }
            if (format != null) {
                df = new SimpleDateFormat(format);
            } else {
                datetext = datetext.replaceAll("/", "-");
                df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            }

            Date date = df.parse(datetext);

            return date;

        }

        catch (Exception e) {
            e.printStackTrace();
            return new Date();
        }
    }

    public static String formatDate(Date date, String format) {
        try {
            if (format != null && !"".equals(format) && date != null) {
                SimpleDateFormat formatter = new SimpleDateFormat(format);
                return formatter.format(date);
            }
        } catch (Exception e) {
            return "";
        }
        return "";
    }

    /**
     * 算出两个日期中所包含的月份
     * 
     * @param fromDate
     * @param toDate
     * @return
     */
    public static Set<String> getMonthBetweenTwoDate(Date fromDate, Date toDate) {
        long begin = fromDate.getTime();
        long end = toDate.getTime();
        long inter = end - begin;
        if (inter < 0) {
            inter = inter * (-1);
        }
        long dateMillSec = 86400000;
        long dateCnt = inter / dateMillSec;
        long remainder = inter % dateMillSec;
        if (remainder != 0) {
            dateCnt++;
        }
        Set<String> set = new LinkedHashSet<String>();
        Calendar cl = Calendar.getInstance();
        cl.setTime(fromDate);
        cl.set(Calendar.HOUR_OF_DAY, 0);
        cl.set(Calendar.MINUTE, 0);
        cl.set(Calendar.SECOND, 0);
        cl.set(Calendar.MILLISECOND, 0);
        set.add(getDateyyyyMM(cl.getTime()));
        for (int i = 1; i <= dateCnt; i++) {
            cl.add(Calendar.DAY_OF_YEAR, 1);
            set.add(getDateyyyyMM(cl.getTime()));
        }
        return set;
    }

    /**
     * 得到yyyyMM的年月
     * 
     * @param date
     * @return
     */
    public static String getDateyyyyMM(Date date) {
        SimpleDateFormat df = new SimpleDateFormat("yyyyMM");
        return df.format(date);
    }

    /**
     * 得到yyyyMM的年月
     * 
     * @param date
     * @return
     */
    public static String getDateyyyyMMdd(Date date) {
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
        return df.format(date);
    }

    /**
     * 得到一月的最大天数
     * 
     * @param date
     * @return
     */
    public static int getMonthsMaxDay(Date date) {
        Calendar cal1 = Calendar.getInstance();
        cal1.setTime(date);
        return cal1.getActualMaximum(cal1.DAY_OF_MONTH);
    }

    public static Date parseDateyyyyMM(String month) {
        SimpleDateFormat df = new SimpleDateFormat("yyyyMM");
        try {
            return df.parse(month);
        } catch (ParseException e) {
        }
        return null;
    }

    public static Date parseDateyyyyMMdd(String date) {
        SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
        try {
            return df.parse(date);
        } catch (ParseException e) {
        }
        return null;
    }

    /**
     * 根据两个日期,算出某个月份的第一天,或者最后一天
     * 
     * @param dateFrom
     * @param dateTo
     * @param month
     * @param flag
     * @return
     */
    public static int getDayBetweenDateStartOrEnd(Date dateFrom, Date dateTo, Date month, String flag) {
        if (dateFrom.getTime() > dateTo.getTime()) {
            Date temp = dateFrom;
            dateFrom = dateTo;
            dateTo = temp;
        }
        if (getDateyyyyMM(month).compareTo(getDateyyyyMM(dateFrom)) > 0
                && getDateyyyyMM(month).compareTo(getDateyyyyMM(dateTo)) < 0) {
            if ("start".equals(flag))
                return 1;
            return getMonthsMaxDay(month);
        } else if (getDateyyyyMM(month).compareTo(getDateyyyyMM(dateFrom)) == 0
                && getDateyyyyMM(month).compareTo(getDateyyyyMM(dateTo)) < 0) {
            if ("start".equals(flag))
                return getDayOfMonth(dateFrom);
            return getMonthsMaxDay(month);
        } else if (getDateyyyyMM(month).compareTo(getDateyyyyMM(dateFrom)) > 0
                && getDateyyyyMM(month).compareTo(getDateyyyyMM(dateTo)) == 0) {
            if ("start".equals(flag))
                return 1;
            return getDayOfMonth(dateTo);
        } else {
            if ("start".equals(flag))
                return getDayOfMonth(dateFrom);
            return getDayOfMonth(dateTo);
        }

    }

    /**
     * 根据一个日期,算出是这个月中的第几天
     * 
     * @param date
     * @return
     */
    public static int getDayOfMonth(Date date) {
        Calendar cal1 = Calendar.getInstance();
        cal1.setTime(date);
        return cal1.get(Calendar.DAY_OF_MONTH);
    }

    /**
     * 取出一个月中某天的日期
     * 
     * @param month
     * @param num
     * @return
     */
    public static Date getDateOfMonthByNum(String month, int num) {
        Calendar cl = Calendar.getInstance();
        cl.setTime(parseDateyyyyMM(month));
        cl.set(Calendar.HOUR_OF_DAY, 0);
        cl.set(Calendar.MINUTE, 0);
        cl.set(Calendar.SECOND, 0);
        cl.set(Calendar.MILLISECOND, 0);
        cl.add(Calendar.DAY_OF_YEAR, num - 1);
        return cl.getTime();
    }

    /**
     * 得到本周第一天日期
     * 
     * @author vincent.shan
     * @return
     */
    public static Date getCurrentWeekMonday() {

        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        int index = cal.get(Calendar.DAY_OF_WEEK);
        // 转成中国的习惯,如果是第一天,则转化为第七天(星期天外国为一周的第一天,而中国为每周的最后一天)
        if (index == 1)
            index = 8;
        cal.add(Calendar.DATE, -(index - 2));
        return cal.getTime();

    }

    /**
     * 得到本周最后一天的日期
     * 
     * @author vincent.shan
     * @return
     */
    public static Date getCurrentWeekSaturday() {
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        int index = cal.get(Calendar.DAY_OF_WEEK);
        if (index == 1)
            index = 8;
        cal.add(Calendar.DATE, -(index - 2));
        cal.add(Calendar.DATE, 6);
        return cal.getTime();
    }

    /**
     * 从指定日期移动一定的天数
     * 
     * @param date
     * @param day
     * @return
     */
    public static Date moveDay(Date date, int day) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        cal.add(Calendar.DAY_OF_MONTH, day);
        return cal.getTime();
    }

    /**
     * 从当天日期移动一定的月数
     * 
     * @param month
     * @return
     */

    public static Date getMoveMonthDate(int month) {
        Date nowDate = new Date();
        Calendar cl = Calendar.getInstance();
        cl.setTime(nowDate);
        cl.add(Calendar.MONDAY, month - 1);
        Date date1 = cl.getTime();
        return date1;
    }

    /**
     * 得到昨天
     * 
     * @param date
     * @param day
     * @return
     */
    public static Date getYesterday() {
        Calendar cal = Calendar.getInstance();

        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        cal.add(Calendar.DAY_OF_MONTH, -1);
        return cal.getTime();
    }

    /**
     * 根据某个日期,返回本月第一天
     * 
     * @param date
     *            任何一天
     * @return Date 当月第一天
     * */
    public static Date getMonthsFirstDay(Date date) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.set(Calendar.DATE, 1);
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        return cal.getTime();
    }

    /**
     * 根据某个日期,返回本月最后一天
     * 
     * @param date
     *            任何一天
     * @return Date 当月第一天
     * */
    public static Date getMonthsLastDay(Date date) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.set(Calendar.DATE, 1);
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        cal.add(Calendar.MONTH, 1);
        cal.add(Calendar.DATE, -1);
        return cal.getTime();
    }

    public static Set<String> getDayList(Date startDate, Date endDate) {
        long begin = startDate.getTime();
        long end = endDate.getTime();
        long inter = end - begin;
        if (inter < 0) {
            inter = inter * (-1);
        }
        long dateMillSec = 86400000;
        long dateCnt = inter / dateMillSec;
        Set<String> set = new LinkedHashSet<String>();
        Calendar cl = Calendar.getInstance();
        cl.setTime(startDate);
        cl.set(Calendar.HOUR_OF_DAY, 0);
        cl.set(Calendar.MINUTE, 0);
        cl.set(Calendar.SECOND, 0);
        cl.set(Calendar.MILLISECOND, 0);
        set.add(getDateyyyyMMdd(cl.getTime()));
        for (int i = 1; i <= dateCnt; i++) {
            cl.add(Calendar.DAY_OF_YEAR, 1);
            set.add(getDateyyyyMMdd(cl.getTime()));
        }
        set.add(getDateyyyyMMdd(endDate));
        return set;
    }

    /**
     * 功能:取得两个日期中最小的日期,如果两个日期参数都为null则返回null
     * 
     * @author irvshan
     * 
     * @param date1
     * @param date2
     * @return Date or null
     */
    public static Date getMinimizeDate(Date date1, Date date2) {
        if (date1 == null) {
            return date2;
        }
        if (date2 == null) {
            return date1;
        }
        if (date1.compareTo(date2) > 0) {
            return date2;
        }
        return date1;
    }

    /**
     * 功能:取得两个日期中最大的日期,如果两个日期参数都为null则返回null
     * 
     * @author irvshan
     * 
     * @param date1
     * @param date2
     * @return Date or null
     */
    public static Date getMaxmizeDate(Date date1, Date date2) {
        if (date1 == null) {
            return date2;
        }
        if (date2 == null) {
            return date1;
        }
        if (date1.compareTo(date2) < 0) {
            return date2;
        }
        return date1;
    }

    public static int getDayofWeek(Date date, int day) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + day - 1);
        return calendar.get(Calendar.DAY_OF_WEEK);
    }

    /**
     * 把date1的小时,分钟,秒换成date2的小时,分钟,秒,返回换值后的date1
     * 
     * @param date1
     * @param date2
     * @return
     */
    public static Date changeTheHourMinuteSecond(Date date1, Date date2) {
        Calendar cl1 = Calendar.getInstance();
        cl1.setTime(date1);
        cl1.set(Calendar.HOUR_OF_DAY, 0);
        cl1.set(Calendar.MINUTE, 0);
        cl1.set(Calendar.SECOND, 0);

        Calendar cl2 = Calendar.getInstance();
        cl2.setTime(date2);
        cl1.set(Calendar.HOUR_OF_DAY, cl2.get(Calendar.HOUR_OF_DAY));
        cl1.set(Calendar.MINUTE, cl2.get(Calendar.MINUTE));
        cl1.set(Calendar.SECOND, cl2.get(Calendar.SECOND));

        return cl1.getTime();
    }

    public static void main(String[] args) {

    }

}

分享到:
评论

相关推荐

    JAVA时间操作大全

    以上介绍的方法涵盖了Java中关于时间操作的基本知识点,包括获取指定日期所在月份的第一天和最后一天、日期格式化以及日期解析等功能。这些方法可以帮助开发者更方便地处理日期与时间相关的问题,提高代码的可读性...

    JAVA课程设计说明书

    Java课程设计说明书主要涵盖了在Java程序设计学习过程中的实习实训环节,旨在加深学生对课程内容的理解,提升软件设计、编写及程序调试能力。以下是详细的知识点解析: 1. **Java程序设计基础**: - Java是一种...

    java源码包---java 源码 大量 实例

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public]  ...

    基于java 的学生信息管理系统

    Java应用程序通常通过JDBC(Java Database Connectivity)接口来连接和操作MySQL数据库,执行SQL查询并处理返回的结果集。 本项目中的"Analysis-of-student-achievement-management-system-master"可能包含以下几个...

    java1.8-api

    3. **Stream API**:Java 1.8引入了Stream API,提供了一种新的数据处理方式,可以对集合进行过滤、映射和聚合操作,支持串行和并行处理,大大提高了代码的可读性和性能。 4. **Optional类**:这个类用于表示可能为...

    Java万年历源代码

    总的来说,这个Java万年历源代码项目不仅展示了如何综合运用Java的基本语法,还揭示了如何在实际项目中有效地组织和管理代码,同时加深了对Java集合、GUI、多线程和异常处理等高级特性的理解。对于Java初学者和进阶...

    java开发手册 api文档(jdk1.8中文)

    《Java开发手册API文档(JDK1.8中文版)》是Java开发者的重要参考资料,它详细阐述了JDK1.8版本中的各种类库、接口、方法和异常等核心概念,帮助开发者理解和运用Java编程语言进行后端开发。文档内容涵盖广泛,包括...

    JAVA API 1.80 中文版

    6. **日期与时间**:Java 8通过`java.time`包对日期和时间处理进行了重大的改进,引入了`LocalDate`、`LocalTime`、`LocalDateTime`和`ZonedDateTime`等新类,提供了更强大和直观的时间操作。 7. **函数式编程**:`...

    java jdk 8.0 版本

    4. **Date和Time API**:Java 8对日期和时间API进行了全面重构,引入了java.time包,提供了更强大和易于使用的日期、时间、时区管理功能,替代了原来的java.util.Date和Calendar。 5. **Optional类**:Optional是一...

    Java操作数据库实验

    1. 使用Java编写客户端应用,实现简单的GUI界面和对服务器数据库的请求。 2. 在服务器端使用Oracle 10g创建数据库表结构及相关对象。 3. 使用JDBC连接客户端应用与数据库服务器,进行数据操作。 三、设计与实现步骤...

    java常用API说明、参考手册等

    这份资源包含了关于Java API的详细说明,可以帮助开发者快速查找和理解各种常用的接口、类和方法。下面,我们将深入探讨Java API中的关键部分,以及如何结合MySQL中文参考手册和HTTP 1.1的知识进行开发。 首先,...

    java API中文版和英文版

    中文版与英文版的Java API主要区别在于语言的差异,它们都包含了Java平台的标准类库文档,为开发者提供了详细的类和方法说明。对于中文用户来说,中文版API更便于理解和查阅,减少了语言障碍,而英文版API则是原汁...

    javaApl开发文档

    Java APL 开发文档集合是一份综合性的资源,旨在帮助开发者深入理解和熟练运用Java语言以及相关的Web开发技术。这份文档不仅覆盖了Java的核心概念,还包括了JavaScript和Web开发的基础知识,特别是通过W3School的...

    万年历 JAVA TXT详细说明

    这些数据结构的合理运用使得程序更加灵活和易于扩展。 ### 5. TXT文档的作用 根据描述中的信息,“有TXT说明”表明还存在一个文本文件,用于解释代码的功能和使用方法。这种文档通常包含了详细的说明,帮助用户更...

    java源码包3

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public] ...

    java 手机时间显示

    1. **Java日期和时间API** 在Java SE(标准版)中,我们通常使用`java.util.Date`类和`java.text.SimpleDateFormat`类来获取和格式化日期和时间。首先,我们可以创建一个`Date`对象来获取当前系统时间: ```java ...

    日历记事本(java语言版).rar

    在IT领域,编程语言的运用无处不在,其中Java以其跨平台、面向对象的特点深受开发者喜爱。本项目“日历记事本(java语言版)”就是一个典型的应用实例,它充分展示了Java在开发桌面应用程序方面的强大能力。该系统...

    java源码包2

    Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择  Java语言开发的简洁实用的日期选择控件,源码文件功能说明:  [DateChooser.java] Java 日期选择控件(主体类) [public] ...

    java_API16

    2. **IO流**:Java 1.6对输入/输出流进行了优化,提供了NIO(New Input/Output)框架,它支持选择器(Selector)和通道(Channel)等特性,提高了IO操作的性能和并发性。 3. **网络编程**:Java API 1.6提供Socket...

Global site tag (gtag.js) - Google Analytics