`
kaishiba
  • 浏览: 59078 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

java对日期的操作工具类

    博客分类:
  • java
阅读更多
import java.io.PrintStream;
import java.sql.Date;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class SqlDateUtil
{

    private static Log log;
    public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd";
    public static final String DEFAULT_TIEMSTAMP_PATTERN = "yyyy-MM-dd HH:mm:ss";
    static Class class$org$dragon$util$SqlDateUtil; /* synthetic field */

    public SqlDateUtil()
    {
    }

    public static String currentDateString()
    {
        return currentDateString("yyyy-MM-dd");
    }

    public static String currentDateString(String pattern)
    {
        SimpleDateFormat simpleFormat = new SimpleDateFormat(pattern);
        String result = simpleFormat.format(new Date(System.currentTimeMillis()));
        return result;
    }

    public static Date currentDate()
    {
        return new Date(System.currentTimeMillis());
    }

    public static Date parseDate(int year, int month, int day)
        throws DateException
    {
        validateDate(year, month, day);
        Calendar calendar = Calendar.getInstance();
        calendar.set(year, month - 1, day);
        Date date = new Date(calendar.getTimeInMillis());
        return date;
    }

    public static Date parseDate(String dateStr)
        throws DateException
    {
        String dateArr[] = dateStr.split("-");
        int year = Integer.parseInt(dateArr[0]);
        int month = Integer.parseInt(dateArr[1]);
        int day = Integer.parseInt(dateArr[2]);
        Date date = parseDate(year, month, day);
        return date;
    }

    public static String currentTimestampString()
    {
        return currentTimestampString("yyyy-MM-dd HH:mm:ss");
    }

    public static String currentTimestampString(String pattern)
    {
        SimpleDateFormat simpleFormat = new SimpleDateFormat(pattern);
        String result = simpleFormat.format(new Timestamp(System.currentTimeMillis()));
        return result;
    }

    public static Timestamp currentTimestamp()
    {
        return new Timestamp(System.currentTimeMillis());
    }

    public static Timestamp parseTimestamp(int year, int month, int day, int hour, int minute, int second)
        throws DateException
    {
        validateTimestamp(year, month, day, hour, minute, second);
        Calendar calendar = Calendar.getInstance();
        calendar.set(year, month - 1, day, hour, minute, second);
        Timestamp timestamp = new Timestamp(calendar.getTimeInMillis());
        return timestamp;
    }

    public static Timestamp parseTimestamp(String timestampStr, String pattern)
        throws DateException
    {
        SimpleDateFormat simpleFormat = new SimpleDateFormat(pattern);
        Timestamp Timestamp = null;
        try
        {
            Timestamp = new Timestamp(simpleFormat.parse(timestampStr).getTime());
        }
        catch(ParseException ex)
        {
            throw new DateException("", ex);
        }
        return Timestamp;
    }

    public static Timestamp parseTimestamp(String timestampStr)
        throws DateException
    {
        return parseTimestamp(timestampStr, "yyyy-MM-dd");
    }

    private static void validateTimestamp(int year, int month, int day, int hour, int minute, int second)
        throws DateException
    {
        if(year < 1900 || year > 2400)
            throw new DateException("Date parse error: the year is invalid.");
        if(month < 1 || month > 12)
            throw new DateException("Date parse error: the month is invalid.");
        if(day < 1 || day > 31)
            throw new DateException("Date parse error: the day is invalid.");
        if(hour < 0 || hour > 23)
            throw new DateException("Date parse error: the day is invalid.");
        if(minute < 0 || minute > 59)
            throw new DateException("Date parse error: the day is invalid.");
        if(second < 0 || second > 59)
            throw new DateException("Date parse error: the day is invalid.");
        else
            return;
    }

    private static void validateDate(int year, int month, int day)
        throws DateException
    {
        if(year < 1900 || year > 2400)
            throw new DateException("Date parse error: the year is invalid.");
        if(month < 1 || month > 12)
            throw new DateException("Date parse error: the month is invalid.");
        if(day < 1 || day > 31)
            throw new DateException("Date parse error: the day is invalid.");
        else
            return;
    }

    public static void main(String args[])
    {
        SqlDateUtil sqlDateUtil = new SqlDateUtil();
        String str = "IS_DELETED";
        try
        {
            System.out.println("Date:" + sqlDateUtil.parseDate("2005-04-5"));
        }
        catch(DateException ex)
        {
            ex.printStackTrace();
        }
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.getTime());
    }

    static Class class$(String x0)
    {
        return Class.forName(x0);
        ClassNotFoundException x1;
        x1;
        throw new NoClassDefFoundError(x1.getMessage());
    }

    static
    {
        log = LogFactory.getLog(class$org$dragon$util$SqlDateUtil != null ? class$org$dragon$util$SqlDateUtil : (class$org$dragon$util$SqlDateUtil = class$("org.dragon.util.SqlDateUtil")));
    }
}
分享到:
评论

相关推荐

    Java 日期比较工具类

    Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )

    java日期类型操作工具类

    java日期类型操作工具类

    java操作日期时间工具类

    Java提供了多种工具类来帮助开发者进行日期时间的操作,其中最常用的是`java.util.Date`、`java.util.Calendar`以及`java.time`包中的类。本篇将重点介绍Java操作日期时间的工具类,特别是通过`DateUtil.java`这个...

    java 日期操作工具类

    全面的日期开发工具类,对日期进行各种转换,应用于大部分项目的开发需求。

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

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

    30个java工具类

    [工具类] 文件操作工具类 .java.txt [工具类] 序列化保存为XML文件的工具类 .java.txt [工具类] 一个压缩工具类.java.txt [工具类] 用java编写简单UDP网络通信程序 .java.txt [工具类] 中文验证.jsp.txt [工具类] ...

    Java 农历日期操作工具类

    "Java 农历日期操作工具类" 提供了一种解决方案,通过自定义的类或库来实现农历日期与公历日期之间的转换。这篇博客文章(链接:https://liuwei1981.iteye.com/blog/666916)可能详细介绍了如何创建这样一个工具类,...

    java时间日期格式化工具类

    现在回到`DateUtil`工具类,这个类通常包含了一系列静态方法,用于简化日期格式化的操作。例如,`DateUtil`可能会有如下方法: ```java public class DateUtil { public static String format(Date date, String ...

    【强2】30个java工具类

    [工具类] 文件操作工具类 .java.txt [工具类] 序列化保存为XML文件的工具类 .java.txt [工具类] 一个压缩工具类.java.txt [工具类] 用java编写简单UDP网络通信程序 .java.txt [工具类] 中文验证.jsp.txt [工具类] ...

    java操作工具类

    Java操作工具类是Java开发中常见的一种代码组织方式,它集合了各种常用的功能函数,以提高代码复用性和开发效率。这些工具类通常包含了对字符串、数组、集合、日期时间等基本数据类型的操作,以及文件I/O、网络通信...

    常用的java工具类

    1.[工具类] 读取、打印输出、保存xml .java ...7.[工具类] 文件操作工具类 .java 8.[工具类] 序列化保存为XML文件的工具类 .java 9.[工具类] 验证码img .jsp 10.[工具类] 中文验证.jsp ......... 等等20几个常用工具类.

    java工具类集合

    Java工具类集合是Java开发中不可或缺的一部分,它们提供了一系列便捷的方法,帮助开发者高效地处理各种常见任务。在Java中,工具类通常被组织在各种包下,如`java.util`、`java.lang`、`java.io`等。下面将详细介绍...

    Java开发工具类

    - QrcodeUtils.java\防止SQL注入和XSS攻击Filter\获取文件绝对路径最后的文件夹名称\加密工具类 - CryptoUtils.java\日期工具类 - DateUtil.java\图片处理工具类 - ImageUtils.java\文件相关操作工具类——FileUtils...

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

    本文将重点讲解Java日期的常用操作方法,主要基于提供的`JavaDateUtil.java`文件,假设这是一个自定义的日期工具类。 首先,我们来了解`java.util.Date`。这个类在早期的Java版本中被广泛使用,但它的API设计并不...

    Date日期操作工具类

    本主题聚焦于一个名为"Date日期操作工具类"的实用工具,它提供了丰富的功能,包括日期格式化、字符串与日期之间的转换、日期的加减操作以及计算日期间隔等。 首先,让我们深入理解`java.util.Date`类。Date类代表了...

    java日期工具类

    本文将深入探讨`java.util.Date`和`java.time`包中的日期工具类。 首先,`java.util.Date`是Java 1.0时代就存在的类,它代表了从1970年1月1日00:00:00 UTC(协调世界时)起的毫秒数。尽管`Date`类提供了获取和设置...

    最全的java时间(日期)工具类

    本文将深入探讨Java中的日期时间工具类,特别是基于给定的"DateUtil.java"文件,我们将聚焦在传统`java.util.Date`和`java.text.SimpleDateFormat`以及Java 8的`java.time`包中的相关类。 首先,我们来看看`java....

    JAVA对象以及数据的工具类

    在Java编程语言中,工具类(Utils)是包含各种实用方法的类,这些方法通常用于执行常见的任务,如类型转换、字符串操作、集合处理等。它们使得代码更加简洁且易于维护,因为它们提供了通用功能的封装,避免了重复...

    一些java常用的工具类

    以下是对"一些java常用的工具类"的详细说明。 首先,工具类通常包含静态方法,这些方法不依赖于类的实例,可以直接调用,减少了对象创建的开销。这些类通常以“Utils”或“Helper”结尾,如Apache Commons Lang中的...

    Java日期工具类,Java时间工具类,Java时间格式化

    Java提供了多种工具类来帮助开发者处理日期和时间,使得我们可以方便地进行日期计算、格式化以及解析等操作。本篇将围绕Java中的日期工具类和时间工具类展开讨论,同时会涉及到日期时间的格式化。 首先,Java 8之前...

Global site tag (gtag.js) - Google Analytics