Java常用的时间工具类实例

发布时间 - 2026-01-11 01:48:35    点击率:

本文实例讲述了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./jisuanqi/date_jisuanqi

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

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

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

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

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


# Java  # 时间  # 工具类  # java中如何获取时间戳的方法实例  # Java计算程序代码执行时间的方法小结  # java基于正则表达式实现时间日期的常用判断操作实例  # Java编程实现时间和时间戳相互转换实例  # Java获得当前时间前指定几个小时具体时间的方法示例  # java如何利用FastJSON、Gson、Jackson三种Json格式工具自定义时间序列化  # Java日期时间格式化操作DateUtils 的整理  # java时间日期使用与查询代码详解  # 转换为  # 转换工具  # 操作技巧  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 几款  # 程序设计  # 再为  # 讲述了  # yyyyMMddhhmmss  # dd  # String  # final  # DATE_PATTERN_YYYY_MM_DD  # MM  # yyyy 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 西安专业网站制作公司有哪些,陕西省建行官方网站?  Python高阶函数应用_函数作为参数说明【指导】  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  百度浏览器如何管理插件 百度浏览器插件管理方法  Laravel如何与Pusher实现实时通信?(WebSocket示例)  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  html如何与html链接_实现多个HTML页面互相链接【互相】  如何自定义建站之星模板颜色并下载新样式?  三星网站视频制作教程下载,三星w23网页如何全屏?  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  如何快速查询网址的建站时间与历史轨迹?  昵图网官方站入口 昵图网素材图库官网入口  深圳网站制作平台,深圳市做网站好的公司有哪些?  UC浏览器如何设置启动页 UC浏览器启动页设置方法  如何快速生成高效建站系统源代码?  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  javascript基本数据类型及类型检测常用方法小结  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  昵图网官网入口 昵图网素材平台官方入口  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  网站制作软件免费下载安装,有哪些免费下载的软件网站?  魔方云NAT建站如何实现端口转发?  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  如何快速搭建二级域名独立网站?  微信小程序 input输入框控件详解及实例(多种示例)  在Oracle关闭情况下如何修改spfile的参数  如何在宝塔面板中创建新站点?  Swift中switch语句区间和元组模式匹配  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Laravel怎么在Blade中安全地输出原始HTML内容  Java遍历集合的三种方式  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  音乐网站服务器如何优化API响应速度?  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  Laravel storage目录权限问题_Laravel文件写入权限设置  如何在景安云服务器上绑定域名并配置虚拟主机?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  详解jQuery停止动画——stop()方法的使用  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  Laravel PHP版本要求一览_Laravel各版本环境要求对照  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  微信小程序 闭包写法详细介绍  中山网站推广排名,中山信息港登录入口?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何在阿里云购买域名并搭建网站?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?