`
xuliang28
  • 浏览: 3610 次
  • 性别: 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($...

    时间日期工具类(包含java8新特性).zip

    总的来说,这个压缩包中的两个文件是针对日期时间处理的实用工具,结合了Java 8的新特性,旨在提高开发者在SpringBoot项目中处理日期时间的效率和灵活性。通过学习和使用这些工具类,我们可以更好地管理和操作应用...

    java 日期帮助类

    这些方法的实现通常基于Java的`java.util.Calendar`类或Java 8引入的`java.time`包,它们提供了丰富的API来处理日期和时间。使用这样的帮助类,开发者可以更方便地处理各种复杂的日期时间问题,避免重复编写基础代码...

    swift-Swift的现实世界日期处理工具类

    Swift没有内置的库像Python的datetime或者Java的java.time那样强大,但它提供了一个基础的`Date`类以及一些配套的类型和方法来帮助开发者处理日期和时间。本篇文章将深入探讨Swift中的日期处理工具类,以及如何在...

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

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

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

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

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

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

    日期类 Date 日期的基本运算

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

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

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

    Java常用日期辅助类

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

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

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

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

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

    易语言源码日期时间增强.7z

    这份源码可能包括自定义的日期时间类,用于创建和管理日期时间对象,支持常见的操作如获取当前时间、设置时间、加减时间等。这些类可能还提供了诸如闰年判断、时间差计算等功能。 3. **日期时间格式化**: 易语言...

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

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

    C#实用类集-DotNet.Utilities

    2. **日期时间操作**:在C#中,日期和时间处理是常见任务,类库可能提供了更方便的日期格式化、时间计算、日期比较等扩展方法,使得开发者能更简单地处理日期时间问题。 3. **文件和流操作**: DotNet.Utilities...

    C# 实用类集 DotNet.Utilities 整理完整版,集合的比较全

    开发者可能会创建一个`DateTimeUtil`类,提供解析、格式化日期时间,计算时间差,甚至处理时区转换的方法。 除此之外,`DotNet.Utilities`还可能包含网络请求、JSON序列化与反序列化、加密解密、线程同步、异常处理...

    WPF日期时间控件-DateTimePicker

    // 处理日期时间更改的逻辑 }; ``` 4. **自定义样式和模板**:为了适应不同的界面设计,WPF允许开发者自定义DateTimePicker的外观和行为。通过修改ControlTemplate或Style,我们可以改变控件的颜色、形状甚至交互...

    c# 可输入可选择时间日期控件

    "c# 可输入可选择时间日期控件"是一个实用的开发资源,它提供了源码和编译后的DLL,帮助开发者快速构建具备日期时间输入和选择功能的用户界面,同时也为二次开发和定制提供了便利。理解并运用这些知识点,能够提升...

Global site tag (gtag.js) - Google Analytics