`
fz8224
  • 浏览: 23057 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

常用日期时间方法

    博客分类:
  • Java
阅读更多

public class DateUtil {

    /**
     * 格式化日期
     * @param dateStr 字符型日期
     * @param format 格式
     * @return 返回日期
     */
    public static java.util.Date parseDate(String dateStr, String format) {
        java.util.Date date = null;
        try {
            java.text.DateFormat df = new java.text.SimpleDateFormat(format);
            String dt = dateStr.replaceAll("-", "/");
            if ((!dt.equals("")) && (dt.length() < format.length())) {
                dt += format.substring(dt.length()).replaceAll("[YyMmDdHhSs]",
                        "0");
            }
            date = (java.util.Date) df.parse(dt);
        } catch (Exception e) {
        }
        return date;
    }

    /**
     * @param dateStr
     * @return Date
     */
    public static java.util.Date parseDate(String dateStr) {
        return parseDate(dateStr, "yyyy/MM/dd");
    }

    /**
     * 格式化输出日期
     * @param date 日期
     * @param format  格式
     * @return 返回字符型日期
     */
    public static String format(java.util.Date date, String format) {
        String result = "";
        try {
            if (date != null) {
                java.text.DateFormat df = new java.text.SimpleDateFormat(format);
                result = df.format(date);
            }
        } catch (Exception e) {
        }
        return result;
    }

    /**
     * 常用的格式化日期
     * @param date Date
     * @return String
     */
    public static String formatDate(java.util.Date date) {
        return format(date, "yyyy-MM-dd");
    }
    
    /**
     * 输出时间
     * @param date
     * @return
     */
    public static String format(java.util.Date date) {
        return format(date, "yyyy/MM/dd");
    }
    
    /**
     * 返回年份
     * @param date 日期
     * @return 返回年份
     */
    public static int getYear(java.util.Date date) {
        java.util.Calendar c = java.util.Calendar.getInstance();
        c.setTime(date);
        return c.get(java.util.Calendar.YEAR);
    }

    /**
     * 返回月份
     * @param date 日期
     * @return 返回月份
     */
    public static int getMonth(java.util.Date date) {
        java.util.Calendar c = java.util.Calendar.getInstance();
        c.setTime(date);
        return c.get(java.util.Calendar.MONTH) + 1;
    }

    /**
     * 返回日份
     * @param date 日期
     * @return 返回日份
     */
    public static int getDay(java.util.Date date) {
        java.util.Calendar c = java.util.Calendar.getInstance();
        c.setTime(date);
        return c.get(java.util.Calendar.DAY_OF_MONTH);
    }

    /**
     * 返回小时
     * @param date 日期
     * @return 返回小时
     */
    public static int getHour(java.util.Date date) {
        java.util.Calendar c = java.util.Calendar.getInstance();
        c.setTime(date);
        return c.get(java.util.Calendar.HOUR_OF_DAY);
    }

    /**
     * 返回分钟
     * @param date 日期
     * @return 返回分钟
     */
    public static int getMinute(java.util.Date date) {
        java.util.Calendar c = java.util.Calendar.getInstance();
        c.setTime(date);
        return c.get(java.util.Calendar.MINUTE);
    }

    /**
     * 返回秒钟
     * @param date 日期
     * @return 返回秒钟
     */
    public static int getSecond(java.util.Date date) {
        java.util.Calendar c = java.util.Calendar.getInstance();
        c.setTime(date);
        return c.get(java.util.Calendar.SECOND);
    }

    /**
     * 返回毫秒
     * @param date 日期
     * @return 返回毫秒
     */
    public static long getMillis(java.util.Date date) {
        java.util.Calendar c = java.util.Calendar.getInstance();
        c.setTime(date);
        return c.getTimeInMillis();
    }

    /**
     * 返回字符型日期
     * @param date 日期
     * @return 返回字符型日期
     */
    public static String getDate(java.util.Date date) {
        return format(date, "yyyy/MM/dd");
    }

    /**
     * 返回字符型时间
     * @param date 日期
     * @return 返回字符型时间
     */
    public static String getTime(java.util.Date date) {
        return format(date, "HH:mm:ss");
    }

    /**
     * 返回字符型日期时间
     * @param date 日期
     * @return 返回字符型日期时间
     */
    public static String getDateTime(java.util.Date date) {
        return format(date, "yyyy/MM/dd HH:mm:ss");
    }

    /**
     * 日期相加
     * @param date 日期
     * @param day 天数
     * @return 返回相加后的日期
     */
    public static java.util.Date addDate(java.util.Date date, int day) {
        java.util.Calendar c = java.util.Calendar.getInstance();
        c.setTimeInMillis(getMillis(date) + ((long) day) * 24 * 3600 * 1000);
        return c.getTime();
    }

    /**
     * 日期相减
     * @param date 日期
     * @param date1 日期
     * @return 返回相减后的日期
     */
    public static int diffDate(java.util.Date date, java.util.Date date1) {
        return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000));
    }

    /**
     * 取得指定月份的第一天
     * @param strdate String
     * @return String
     */
    public static String getMonthBegin(String strdate) {
        java.util.Date date = parseDate(strdate);
        return format(date, "yyyy-MM") + "-01";
    }

    /**
     * 取得指定月份的最后一天
     * @param strdate String
     * @return String
     */
    public static String getMonthEnd(String strdate) {
        java.util.Date date = parseDate(getMonthBegin(strdate));
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.MONTH, 1);
        calendar.add(Calendar.DAY_OF_YEAR, -1);
        return formatDate(calendar.getTime());
    }

    /**
     * 计算传入值是否星期(六)
     * @param str
     * @return boolean - 是返回true
     */
    public boolean checkWeek6(String str, int week) {
        boolean flag = false;
        int realWeek = 0;
        str.replace('/', '-');
        Calendar cal = Calendar.getInstance();
        cal.setTime(java.sql.Date.valueOf(str.substring(0, 10)));
        realWeek = cal.get(Calendar.DAY_OF_WEEK);
        if (realWeek == (week + 1)) {
            flag = true;
        }
        return flag;
    }

    /**
     * Description: 获取GMT8时间
     * 
     * @return 将当前时间转换为GMT8时区后的Date
     */
    public static Date getGMT8Time() {
        Date gmt8 = null;
        try {
            Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT+8"),
                    Locale.CHINESE);
            Calendar day = Calendar.getInstance();
            day.set(Calendar.YEAR, cal.get(Calendar.YEAR));
            day.set(Calendar.MONTH, cal.get(Calendar.MONTH));
            day.set(Calendar.DATE, cal.get(Calendar.DATE));
            day.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY));
            day.set(Calendar.MINUTE, cal.get(Calendar.MINUTE));
            day.set(Calendar.SECOND, cal.get(Calendar.SECOND));
            gmt8 = day.getTime();
        } catch (Exception e) {
            System.out.println("获取GMT8时间 getGMT8Time() error !");
            e.printStackTrace();
            gmt8 = null;
        }
        return gmt8;
    }
}

分享到:
评论

相关推荐

    C# 常用日期时间函数

    在C#编程中,日期和时间操作是常见的需求,用于处理和展示各种日期时间相关的数据。DateTime类是C#中处理日期和时间的核心类,它提供了...了解并熟练掌握这些函数和方法对于编写高效、准确的日期时间处理代码至关重要。

    JAVA处理日期时间常用方法

    在Java中,主要使用`java.util.Date`、`java.util.Calendar`和`java.text.SimpleDateFormat`这三个核心类来处理日期时间。 首先,`java.util.Calendar`是一个抽象类,它提供了对日期和时间的高级操作。例如,你可以...

    PowerBuilder常用日期时间函数

    ### PowerBuilder 常用日期时间函数详解 #### 一、概述 PowerBuilder 是一款功能强大的集成开发环境,主要用于创建数据库应用。它提供了丰富的日期时间处理函数,方便开发者进行日期和时间的操作。本文将详细介绍 ...

    sql 日期处理常用方法

    本文将详细介绍SQL中日期处理的常用方法,包括获取当前系统时间、日期加减运算、计算日期差、提取日期部分、转换日期格式等功能。 ### 一、获取当前系统时间 在SQL Server中,`GETDATE()`函数用于返回当前的系统...

    Java的日期格式化常用方法

    此外,`java.time.format.DateTimeFormatter`类中的`parse`方法可以将符合格式的字符串解析为日期时间对象,这对于数据输入验证或解析用户输入非常有用。 总之,Java中的日期格式化涉及`SimpleDateFormat`和`java....

    最常用的时间控件-js

    综上所述,JavaScript在创建日期时间控件方面具有强大的能力,开发者可以通过内置API、HTML5特性、第三方库或者自定义代码来满足不同的需求。实际项目中,选择合适的方法并进行适当的定制,可以提高用户体验并保证...

    日期时间常用函数笔记

    日期时间常用函数笔记日期时间常用函数笔记日期时间常用函数笔记

    Oracle常用日期型函数

    Oracle常用日期型函数,大家经常想用的,又不想记得。现在,给你一个方便的资源

    易语言日期时间框例程源码,易语言日期时间框模块

    在易语言中,日期时间框是一个常用的用户界面组件,用于显示和选择日期或时间。本模块提供了一套完整的日期时间框操作例程和源码,有助于开发者更好地理解和应用这一组件。 首先,"日期时间框模块"是易语言中用于...

    日期时间控件包

    日期时间控件在IT开发中扮演着至关重要的角色,它们为用户提供了一种直观的方式来选择或输入日期和时间,极大地提高了用户界面的交互性和用户体验。"日期时间控件包"正是一款专为此目的设计的工具,它集合了丰富的...

    Java日期常用操作方法工具类

    Java 8引入了`java.time`包,提供了一系列更加直观和强大的日期时间API,如`LocalDate`, `LocalTime`, `LocalDateTime`, `ZonedDateTime`等。这些类的设计更符合现代编程需求,易于理解和使用。例如,`LocalDate.now...

    js日期控件 后台常用日期控件

    jquery日期控件 后台常用日期控件

    日期常用方法类 java版

    java版 日期常用方法类 ,//返回"yyyyMMdd"格式日期 //返回"yyyy-MM-dd"格式日期 //获取开始时间和结束时间之间的天数 //计算两个日期之间的时间间隔(d1-d2),可选择是否计算工作日计算两个时间之间的间隔 单位:...

    时间日期的转换、常用方法

    - **输出 Date 对象**:可以使用 `.toString()` 方法来输出日期时间。 ```java System.out.println(dt.toString()); ``` - **获取毫秒数**:可以通过 `.getTime()` 方法获取 `Date` 对象所表示的时间戳(自1970...

    Java获取各种常用时间方法

    ### Java获取各种常用时间方法 在Java编程中,处理日期和时间是常见需求之一。本篇文章将详细介绍如何使用Java来获取一些常用的日期信息,包括但不限于:获取当前日期、本周一的日期、本周日的日期以及上周一的日期...

    Js获取当前日期时间及格式化代码

    标签中的知识点:涉及到Js在获取日期时间方面相关的几个关键功能和方法,包括获取年份、月份、日、星期、时间等,以及日期时间的格式化方法。 详细知识点介绍: 1. 获取当前日期和时间: - JavaScript中的Date...

    时间-日期 时间-日期

    3. **时间戳**:时间戳是一种将时间编码为数值的方法,常用于数据库记录、日志文件以及网络通信中,因为它们比传统的日期时间格式更节省空间且便于排序和比较。 4. **格式化和解析**:能够将日期和时间从一种格式...

    常用的jquery日期插件

    标题中提到的“常用的jQuery日期插件”,可能是指jQuery UI中的Datepicker插件,它是一款功能强大且用户友好的日期选择工具。Datepicker插件允许用户轻松地选择日期,提供了多种配置选项,可以根据项目需求进行定制...

    Jquery时间日期控件[修改][日期时间-日期-时间]

    本文将深入探讨jQuery时间日期控件的使用,包括日期时间、单独日期和单独时分秒的选择功能,以及如何进行自定义样式修改。 jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互等...

    WPF日期时间控件

    总结一下,WPF日期时间控件是UI设计中常用的一种元素,它提供了一种直观的方式来获取和显示日期和时间。通过自定义格式,我们可以确保日期时间的显示符合项目需求。在实际开发中,结合`DateTimePicker.xaml`和`...

Global site tag (gtag.js) - Google Analytics