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


相关推荐: 韩国服务器如何优化跨境访问实现高效连接?  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  教你用AI将一段旋律扩展成一首完整的曲子  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  浅述节点的创建及常见功能的实现  JavaScript如何实现继承_有哪些常用方法  在Oracle关闭情况下如何修改spfile的参数  如何在阿里云部署织梦网站?  Linux系统运维自动化项目教程_Ansible批量管理实战  Android中AutoCompleteTextView自动提示  魔毅自助建站系统:模板定制与SEO优化一键生成指南  Laravel模型事件有哪些_Laravel Model Event生命周期详解  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  公司网站制作需要多少钱,找人做公司网站需要多少钱?  LinuxCD持续部署教程_自动发布与回滚机制  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  如何登录建站主机?访问步骤全解析  浅析上传头像示例及其注意事项  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  如何在IIS中新建站点并配置端口与物理路径?  jQuery中的100个技巧汇总  昵图网官方站入口 昵图网素材图库官网入口  网站页面设计需要考虑到这些问题  油猴 教程,油猴搜脚本为什么会网页无法显示?  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  如何挑选高效建站主机与优质域名?  JavaScript Ajax实现异步通信  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  如何自定义建站之星模板颜色并下载新样式?  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Laravel distinct去重查询_Laravel Eloquent去重方法  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  LinuxShell函数封装方法_脚本复用设计思路【教程】  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  Laravel中的withCount方法怎么高效统计关联模型数量  UC浏览器如何设置启动页 UC浏览器启动页设置方法  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  🚀拖拽式CMS建站能否实现高效与个性化并存?  如何在橙子建站中快速调整背景颜色?  Laravel如何使用.env文件管理环境变量?(最佳实践)  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭