`
xuliang28
  • 浏览: 3661 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

日期时间处理实用类(转贴)

阅读更多
工具类:
Java代码
package com.sitinspring.datetime;  
 
import java.text.Format;  
import java.text.SimpleDateFormat;  
import java.util.Calendar;  
import java.util.Date;  
import java.util.GregorianCalendar;  
 
/** *//** 
* 日期时间处理实用类 
*  
* @author sitinspring(junglesong@gmail.com) 
* @since 2008-7-18 上午10:30:15 
* @vsersion 1.00 创建 sitinspring 2008-7-18 上午10:30:15 
*/ 
public final class DateTimeUtil {  
    private DateTimeUtil() {  
 
    }  
 
    /** *//** 
     * 以格式format返回表示日期时间的字符串 
     *  
     * @param format 
     * @return 
     */ 
    public static String getDateTimeStr(String format) {  
        Date date = new Date();  
        Format formatter = new SimpleDateFormat(format);  
        return formatter.format(date);  
    }  
 
    /** *//** 
     * 取得当前日期时间 
     *  
     * @return 
     */ 
    public static String getCurrDateTime() {  
        return getDateTimeStr("yyyy.MM.dd HH:mm:ss");  
    }  
 
    /** *//** 
     * 取得当前日期,不足两位前补零 
     *  
     * @return 
     */ 
    public static String getCurrDate() {  
        return getDateTimeStr("yyyy.MM.dd");  
    }  
 
    /** *//** 
     * 取得当前日期 
     *  
     * @return 
     */ 
    public static String getSimpleCurrDate() {  
        return getDateTimeStr("yyyy.M.d");  
    }  
 
    /** *//** 
     * 取得当前时间 
     *  
     * @return 
     */ 
    public static String getCurrTime() {  
        return getDateTimeStr("HH:mm:ss");  
    }  
 
    /** *//** 
     * 取得当前年月 
     *  
     * @return 
     */ 
    public static String getCurrYearMonth() {  
        return getDateTimeStr("yyyy.MM");  
    }  
 
    /** *//** 
     * 从文本形式日期取得Date日期时间 
     *  
     * @param strMonth 
     * @return 
     */ 
    private static Date getDate(String strMonth) {  
        SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy.MM.dd");  
 
        try {  
            java.util.Date date = myFormatter.parse(strMonth);  
            return date;  
        } catch (Exception ex) {  
            return null;  
        }  
    }  
 
    /** *//** 
     * 得到两个文本日期之间的天数 
     *  
     * @param startDate 
     * @param endDate 
     * @return 
     */ 
    public static long getDaysBetween(String startDate, String endDate) {  
        Date dStart = getDate(startDate);  
        Date dEnd = getDate(endDate);  
 
        return (dEnd.getTime() - dStart.getTime()) / (24 * 60 * 60 * 1000);  
    }  
 
    /** *//** 
     * 取某月的天数,strMonth的格式是"yyyy.MM" 
     * @param strMonth 
     * @return 
     */ 
    public static int getDaysInAMonth(String strMonth) {  
        String[] arr = strMonth.split("[.]");  
 
        // Create a calendar object of the desired month  
        Calendar cal = new GregorianCalendar(Integer.parseInt(arr[0]), Integer  
                .parseInt(arr[1]) - 1, 1);  
 
        // Get the number of days in that month  
        int days = cal.getActualMaximum(Calendar.DAY_OF_MONTH);  
 
        return days;  
    }  
 
    /** *//** 
     * 取某月第一天是周几,strMonth的格式是"yyyy.MM" 
     * @param strMonth 
     * @return 
     */ 
    public static int getWeekOfFirstDay(String strMonth) {  
        String[] arr = strMonth.split("[.]");  
 
        Calendar xmas = new GregorianCalendar(Integer.parseInt(arr[0]), Integer  
                .parseInt(arr[1]) - 1, 1);  
        int dayOfWeek = xmas.get(Calendar.DAY_OF_WEEK) - 1;  
        return dayOfWeek;  
    }  
 
    public static void main(String[] args) {  
        System.out.println("当前日期时间为:" + getCurrDateTime());  
        System.out.println("当前日期为:" + getCurrDate());  
        System.out.println("当前日期为:" + getSimpleCurrDate());  
        System.out.println("当前时间为:" + getCurrTime());  
        System.out.println("2008.07.05与2008.07.18之间相隔:" 
                + getDaysBetween("2008.07.05", "2008.07.18") + "天");  
        System.out.println("当前年月为:" + getCurrYearMonth());  
        System.out.println("本月第一天为周" + getWeekOfFirstDay(getCurrYearMonth()));  
        System.out.println("本月有" + getDaysInAMonth(getCurrYearMonth()) + "天");  
    }  


package com.sitinspring.datetime;

import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/** *//**
* 日期时间处理实用类
*
* @author sitinspring(junglesong@gmail.com)
* @since 2008-7-18 上午10:30:15
* @vsersion 1.00 创建 sitinspring 2008-7-18 上午10:30:15
*/
public final class DateTimeUtil {
    private DateTimeUtil() {

    }

    /** *//**
     * 以格式format返回表示日期时间的字符串
     *
     * @param format
     * @return
     */
    public static String getDateTimeStr(String format) {
        Date date = new Date();
        Format formatter = new SimpleDateFormat(format);
        return formatter.format(date);
    }

    /** *//**
     * 取得当前日期时间
     *
     * @return
     */
    public static String getCurrDateTime() {
        return getDateTimeStr("yyyy.MM.dd HH:mm:ss");
    }

    /** *//**
     * 取得当前日期,不足两位前补零
     *
     * @return
     */
    public static String getCurrDate() {
        return getDateTimeStr("yyyy.MM.dd");
    }

    /** *//**
     * 取得当前日期
     *
     * @return
     */
    public static String getSimpleCurrDate() {
        return getDateTimeStr("yyyy.M.d");
    }

    /** *//**
     * 取得当前时间
     *
     * @return
     */
    public static String getCurrTime() {
        return getDateTimeStr("HH:mm:ss");
    }

    /** *//**
     * 取得当前年月
     *
     * @return
     */
    public static String getCurrYearMonth() {
        return getDateTimeStr("yyyy.MM");
    }

    /** *//**
     * 从文本形式日期取得Date日期时间
     *
     * @param strMonth
     * @return
     */
    private static Date getDate(String strMonth) {
        SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy.MM.dd");

        try {
            java.util.Date date = myFormatter.parse(strMonth);
            return date;
        } catch (Exception ex) {
            return null;
        }
    }

    /** *//**
     * 得到两个文本日期之间的天数
     *
     * @param startDate
     * @param endDate
     * @return
     */
    public static long getDaysBetween(String startDate, String endDate) {
        Date dStart = getDate(startDate);
        Date dEnd = getDate(endDate);

        return (dEnd.getTime() - dStart.getTime()) / (24 * 60 * 60 * 1000);
    }

    /** *//**
     * 取某月的天数,strMonth的格式是"yyyy.MM"
     * @param strMonth
     * @return
     */
    public static int getDaysInAMonth(String strMonth) {
        String[] arr = strMonth.split("[.]");

        // Create a calendar object of the desired month
        Calendar cal = new GregorianCalendar(Integer.parseInt(arr[0]), Integer
                .parseInt(arr[1]) - 1, 1);

        // Get the number of days in that month
        int days = cal.getActualMaximum(Calendar.DAY_OF_MONTH);

        return days;
    }

    /** *//**
     * 取某月第一天是周几,strMonth的格式是"yyyy.MM"
     * @param strMonth
     * @return
     */
    public static int getWeekOfFirstDay(String strMonth) {
        String[] arr = strMonth.split("[.]");

        Calendar xmas = new GregorianCalendar(Integer.parseInt(arr[0]), Integer
                .parseInt(arr[1]) - 1, 1);
        int dayOfWeek = xmas.get(Calendar.DAY_OF_WEEK) - 1;
        return dayOfWeek;
    }

    public static void main(String[] args) {
        System.out.println("当前日期时间为:" + getCurrDateTime());
        System.out.println("当前日期为:" + getCurrDate());
        System.out.println("当前日期为:" + getSimpleCurrDate());
        System.out.println("当前时间为:" + getCurrTime());
        System.out.println("2008.07.05与2008.07.18之间相隔:"
                + getDaysBetween("2008.07.05", "2008.07.18") + "天");
        System.out.println("当前年月为:" + getCurrYearMonth());
        System.out.println("本月第一天为周" + getWeekOfFirstDay(getCurrYearMonth()));
        System.out.println("本月有" + getDaysInAMonth(getCurrYearMonth()) + "天");
    }
}


输出:

Java代码
当前日期时间为:2008.07.18 10:48:57 
当前日期为:2008.07.18 
当前日期为:2008.7.18 
当前时间为:10:48:57 
2008.07.05与2008.07.18之间相隔:13天  
当前年月为:2008.07 
本月第一天为周2 
本月有31天 
分享到:
评论

相关推荐

    日期处理工具类

    "日期处理工具类"通常是指自定义的类或使用Java内置的日期时间API来执行与日期相关的操作,如日期加减、日期格式化以及获取特定周或日等功能。在本案例中,我们有一个名为`DateUtils`的类,它可能包含了这些实用方法...

    实用类的代码

    标题"实用类的代码"可能是指一系列这样的类,它们提供了一些常用的操作或者工具方法,例如字符串处理、日期时间操作、数学计算等。这些类通常会被封装到一个库或框架中,方便开发者在项目中调用。 描述中的“实用类...

    最全C#时间处理通用类(DateTimeHelper)

    总之,`DateTimeHelper`是C#开发中一个实用的工具类,它提供了一系列针对`DateTime`对象的操作方法,帮助开发者更高效地处理日期和时间。通过深入理解和运用此类,可以提升编程效率并确保日期时间处理的准确性。

    php封装的时间处理类

    3. **时间比较**:类中可能包含`compareDates($date1, $date2)`方法,用于比较两个日期时间的先后顺序,返回1、0或-1,分别代表$date1大于$date2、相等、小于$date2。 4. **时间差计算**:`getTimeDifference($...

    pb强大的日期时间控件

    总的来说,"pb强大的日期时间控件"提供了丰富的日期和时间处理功能,对于使用PowerBuilder进行应用开发的程序员来说,这是一个非常实用的工具集,可以帮助他们快速构建具有专业界面和高效操作的软件系统。...

    第4章 实用类+ppt+pdf+例子

    3. **日期时间处理**:如DateTimeUtil类,提供日期和时间的格式化、计算差值等功能。 4. **IO操作**:如FileUtil类,包含读写文件、目录操作等实用方法。 通过学习这一章的内容,开发者不仅可以提升代码质量,还能...

    WPF带时间的日期选择控件

    总的来说,"WPF带时间的日期选择控件"是WPF开发中一个实用的增强工具,它弥补了框架原生控件的不足,为开发者提供了更全面的日期和时间选择解决方案。通过学习和掌握这类控件的使用,可以提升WPF应用的功能性和用户...

    java时间工具类,基本上全面的包括常用的关于时间的处理

    Java时间工具类是Java开发中不可或缺的一部分,它们提供了一系列方便的方法来处理日期和时间,使得开发者可以更加高效地进行时间相关的操作。在这个简单的DateUtil.java工具类中,我们可以期待找到一些基本但实用的...

    原创好用实用的日期工具类

    强大的好用的原创日期工具类: 1.返回当前日期字符串 yyyy-MM-dd 2.返回当前日期字符串 yyyy-MM-dd HH:mm:ss 3.根据指定时间格式解析日期字符串为Date对象 4.根据默认时间格式解析日期字符串为Date对象 5.根据指定...

    Python日期与时间处理(教程).md

    1. Python中处理日期和时间可以通过datetime模块实现,该模块提供了多个类和方法来处理日期和时间。 2. datetime模块中的datetime类能够用来获取当前的日期和时间。使用datetime.now()方法可以得到一个表示当前日期...

    Python的datetime模块是一个强大的日期和时间处理库,包含date/time/datetime/timedelta类

    它提供了丰富的类和方法,能够使开发者在处理日期和时间的计算、比较和格式化时更为方便。在该模块中,主要包含的类有date、time、datetime、timedelta、timezone等,这些类各自有不同的功能。 date类主要用于处理...

    日期类 Date 日期的基本运算

    在程序设计中,日期类的实现是一个基础且十分实用的主题,这不仅涉及到对...同时,这也会加深我们对日期时间在计算机科学中处理方式的理解,从而在开发过程中更加合理地应用日期时间类,为我们的程序增添更多实用功能。

    C语言_漂亮的命令行日期和时间实用程序在shell中快速日期计算和转换.zip

    首先,它减少了开发者在处理日期和时间时编写复杂代码的需要,因为日期和时间的处理涉及到各种边界条件和特殊情况,这些都需要在代码中仔细处理。其次,这样的工具集往往经过了严格的测试,能够保证结果的准确性。...

    labview 关于时间格式的各种互相转换及处理vi,时分秒处理,非常实用

    例如,可以将时间戳转换为易于阅读的HH:MM:SS格式,或者将字符串形式的时间转换为日期时间对象,以便进行进一步的计算。 2. **时分秒处理**:在实际应用中,我们经常需要对时间进行精确的操作,比如加减时间、比较...

    Python日期和时间操作:深入指南与实用技巧

    在编程中,处理日期和时间是一项常见且有时复杂的任务...通过掌握日期时间的创建、算术运算、格式化和解析,以及时区处理,你可以轻松地在Python中处理日期和时间。希望本文能帮助你在实际项目中更好地利用日期和时间。

    Java常用日期辅助类

    Java提供了多种日期辅助类来帮助开发者进行日期时间的操作和格式化。在给定的标题“Java常用日期辅助类”中,我们可以推测这篇博文可能探讨了Java中的一些核心日期处理工具,如`java.util.Date`,`java.time`包中的...

    非常强大的java时间处理工具类!.docx

    为此,开发者们创建了xk-time,一个强大的时间处理工具类库,它充分利用Java 8的日期时间API,提供了丰富的功能,同时确保线程安全和简洁易用。 xk-time工具包的核心特性包括时间转换、时间计算、时间格式化和解析...

    非常不错的JS日期时间输入控件

    在JavaScript的世界里,日期时间输入控件是一种常见且实用的功能,尤其在网页表单和交互式界面设计中。本文将详细解析"非常不错的JS日期时间输入控件",包括其核心特性、使用方法以及如何自定义日期时间格式。 首先...

    时间格式化工具类

    首先,`java.time`包是Java 8引入的新时间日期API,它提供了`LocalDate`, `LocalTime`, `LocalDateTime`, `ZonedDateTime`等类,用于处理日期和时间。这些类提供了丰富的功能,如添加、减去时间间隔,获取日期或时间...

    java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒

    这篇博客文章“java 日期操作工具类:包括计算两个时间相差距离多少天多少小时多少分多少秒”提供了一个实用的工具类,帮助开发者更方便地处理日期和时间差异。下面将详细解释这个工具类中的关键知识点。 1. **Java...

Global site tag (gtag.js) - Google Analytics