Java常用的时间工具类实例

本文实例讲述了Java常用的时间工具类。分享给大家供大家参考,具体如下:

package org.zhy.date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
 * 时间类型工具类
 *
 * @author zhengyi
 *
 */
public class DateUtils {
  // 时间格式定义
  public static final String DATE_PATTERN_YYYY_MM_DD = "yyyy-MM-dd"; // 2011-10-09
  public static final String yyyyMMddhhmmss = "yyyyMMddhhmmss";// 20111009100155
  public static final String yyyy_MM_ddhhMMss = "yyyy-MM-dd hh:MM:ss";// 2011-10-09
  // 10:01:55
  // 时间格式:年月日时分秒
  public static final int YEAR = 1;// 年
  public static final int MONTH = 2;// 月
  public static final int DAY = 3; // 日
  public static final int HOUROFDAY = 4;// 时
  public static final int MINUTE = 5;// 分
  public static final int SECOND = 6;// 秒
  /**
   * 将时间转换为字符串
   *
   * @param date
   *      :需要转换的时间
   * @param date_fomat
   *      :时间格式
   * @return String:转换后的格式
   */
  public static String DateToString(java.util.Date date, String date_fomat) {
    DateFormat df = new SimpleDateFormat(date_fomat);
    return df.format(date);
  }
  /**
   * 根据年月日时分秒生成Date并返回
   *
   * @param year
   *      :年
   * @param month
   *      :月
   * @param dayOfMonth
   *      :日
   * @param hourOfDay
   *      :时
   * @param minute
   *      :分
   * @param second
   *      :秒
   * @return
   */
  public static Date stringToDate(int year, int month, int dayOfMonth,
      int hourOfDay, int minute, int second) {
    GregorianCalendar gc = new GregorianCalendar(year, month, dayOfMonth,
        hourOfDay, minute, second);
    Date dt = gc.getTime();
    return dt;
  }
  /**
   * 根据年月日生成Date并返回
   *
   * @param year
   *      :年
   * @param month
   *      :月
   * @param dayOfMonth
   *      :日
   * @return Date:返回的Date对象
   */
  public static Date stringToDate(int year, int month, int dayOfMonth) {
    GregorianCalendar gc = new GregorianCalendar(year, month, dayOfMonth);
    Date dt = gc.getTime();
    return dt;
  }
  /**
   * 是否为闰年
   *
   * @param date
   * @return
   */
  public static boolean isLeapYear(Date date) {
    GregorianCalendar gc = gcToDate(date);
    return gc.isLeapYear(findYearByDate(date, YEAR));
  }
  /**
   * 获得日期中的年月日时分秒
   *
   * @param date
   *      :需要获取的时间
   * @param type
   *      :获取的类型,类内常量
   * @return
   */
  public static int findYearByDate(Date date, int type) {
    Calendar cd = Calendar.getInstance();
    cd.setTime(date);
    int number=0;
    switch (type) {
      case YEAR :
        number= cd.get(Calendar.YEAR);
        break;
      case MONTH :
        number= cd.get(Calendar.MONTH);
        break;
      case DAY :
        number= cd.get(Calendar.DAY_OF_MONTH);
        break;
      case HOUROFDAY :
        number= cd.get(Calendar.HOUR_OF_DAY);
        break;
      case MINUTE :
        number= cd.get(Calendar.MINUTE);
        break;
      case SECOND :
        number= cd.get(Calendar.SECOND);
        break;
      default :
        number= 0;
    }
    return number;
  }
  /**
   * 私有函数,将Date类型转换为GregorianCalendar类型以便类内使用
   *
   * @param date
   * @return
   */
  private static GregorianCalendar gcToDate(Date date) {
    GregorianCalendar gc = new GregorianCalendar();
    gc.setTime(date);
    return gc;
  }
}

PS:这里再为大家推荐几款关于日期与天数计算的在线工具供大家使用:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线万年历日历:
http://tools.jb51.net/bianmin/wannianli

在线阴历/阳历转换工具:
http://tools.jb51.net/bianmin/yinli2yangli

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于java相关内容感兴趣的读者可查看本站专题:《java日期与时间操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

(0)

相关推荐

  • Java中的日期和时间类以及Calendar类用法详解

    Java日期和时间类简介 Java 的日期和时间类位于 java.util 包中.利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间. Date 类 Date 类是 Java 中的日期时间类,其构造方法比较多,下面是常用的两个: Date():使用当前的日期和时间初始化一个对象. Date(long millisec):从1970年01月01日00时(格林威治时间)开始以毫秒计算时间,计算 millisec 毫秒.如果运行 Java 程序的本地时区是北京时区(

  • Java Calendar类的时间操作

    Java Calendar 类时间操作,这也许是创建日历和管理最简单的一个方案,示范代码很简单,演示了获取时间,日期时间的累加和累减,以及比较. 注意事项: Calendar 的 month 从 0 开始,也就是全年 12 个月由 0 ~ 11 进行表示. 而 Calendar.DAY_OF_WEEK 定义和值如下: Calendar.SUNDAY = 1 Calendar.MONDAY = 2 Calendar.TUESDAY = 3 Calendar.WEDNESDAY = 4 Calend

  • Java对日期Date类进行加减运算、年份加减月份加减、时间差等等

    实现代码一: import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateTestUtil { public static void main(String[] args) throws Exception { SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd"); String str=&

  • java获取当前时间和前一天日期(实现代码)

    废话不多说,上代码 复制代码 代码如下: String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; Date dNow = new Date();   //当前时间Date dBefore = new Date(); Calendar calendar = Calendar.getInstanc

  • 学习Java中的日期和时间处理及Java日历小程序的编写

    Java 在 java.util 包中提供了 Date 类,这个类封装了当前的日期和时间. Date 类支持两种构造函数.第一个构造函数初始化对象的当前日期和时间. Date( ) 下面的构造函数接收一个参数等于自1970年1月1日午夜起已经过的毫秒数 Date(long millisec) 一旦有一个可用的日期对象,可以调用以下任何一种支持的方法使用时间: SN 方法和描述 1 boolean after(Date date) 如果调用Date对象包含或晚于指定的日期则返回true,否则,返回

  • 浅谈java中六大时间类的使用和区别

    java.util.Date java.sql.Date java.sql.Time java.sql.Timestamp java.text.SimpleDateFormat java.util.Calendar java.util.Date日期格式为:年月日时分秒 java.sql.Date日期格式为:年月日 java.sql.Time日期格式为:时分秒 java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒) 从数据库中取出来的日期一般都用getTimestamp()方法

  • Java日期时间使用方法汇总

    一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在Java中,操作日期主要涉及到一下几个类:  1.java.util.Date         类 Date 表示特定的瞬间,精确到毫秒.从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串.Date 中的把日期解释为年.月

  • java时间戳转日期格式的实现代码

    如下所示: 复制代码 代码如下: String beginDate="1328007600000"; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); String sd = sdf.format(new Date(Long.parseLong(beginDate))); System.out.println(sd);

  • JAVA时间日期处理类实例

    本文实例讲述了JAVA时间日期处理类,主要用来遍历两个日期之间的每一天.分享给大家供大家参考.具体如下: /** * * 文 件 名: AccountDate.java * * 创建时间: 2008-11-18 * * Email : **@163.com */ import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.A

  • java8 LocalDate LocalDateTime等时间类用法实例分析

    本文实例讲述了java8 LocalDate LocalDateTime等时间类用法.分享给大家供大家参考,具体如下: 这篇文章主要是java8中新的Date和Time API的实战.新的Date和Time类是Java开发者社区千呼万唤始出来的.Java8 之前存在的Date类一直都受人诟病,很多人都会选择使用第三方的date库joda-time.Java8中的date和time api是jodatime的作者参与开发的,实现了JSR310的全部内容.这些新的api都在包java.time下.

随机推荐