本文实例讲述了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程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。