`

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

阅读更多
工具类:
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()) + "天");
    }
}


输出:

当前日期时间为: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项目中处理日期时间的效率和灵活性。通过学习和使用这些工具类,我们可以更好地管理和操作应用...

    J2EE系统中日期时间的处理方法.pdf

    本文旨在探讨在J2EE系统中处理日期时间的有效方法,并提供一些实用的建议。 #### 二、基础知识 ##### 2.1 时区 (TimeZone) 时区是指采用同一标准时间的一个地理区域。相邻时区通常相差一小时。时区通常以与...

    pb强大的日期时间控件

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

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

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

    WPF带时间的日期选择控件

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

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

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

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

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

    Java常用日期辅助类

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

    mfc 时间日期计算器

    时间日期计算器是一个实用工具,它允许用户进行日期和时间的运算,例如计算两个日期之间的差值,或者根据已知的间隔反推日期。这种计算器通常包含以下功能: 1. **日期和时间输入**:用户可以输入或选择起始和结束...

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

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

    日期转换工具类

    标题提到的"日期转换工具类"主要涉及日期格式化和类型转换,这在处理日期相关的业务逻辑时非常实用。描述中提到了日期格式转换,日期与字符串之间的转换,以及涉及到不同类型的日期操作。以下是这些知识点的详细说明...

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

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

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

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

    WPF日期时间控件-DateTimePicker

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

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

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

    安卓开发框架工具类相关-很实用的安卓开发工具类开发必备日期处理工具类IO流转换工具类打印日志工具类屏幕字符串工具类Toast工具类弹框工具类.zip

    很实用的安卓开发工具类,开发必备,日期处理工具类,IO流转换工具类,打印日志工具类,屏幕,字符串工具类,Toast工具类,弹框工具类.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    js日期控件,可以选择时间,很好用

    总的来说,这个js日期时间控件提供了一种灵活的方式,让用户在Web应用中选择日期和时间,同时考虑到JavaScript的广泛兼容性和易用性,这样的控件在现代Web开发中具有很高的实用价值。通过研究和理解"NewTime.js"的...

Global site tag (gtag.js) - Google Analytics