package com.pdt.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; /** * 日期工具类 * 默认使用 "yyyy-MM-dd HH:mm:ss" 格式化日期 * @author EwinLive * @version1.0 */ public class DateUtils { /** * 英文简写(默认)如:2010-12-01 */ public static String FORMAT_SHORT = "yyyy-MM-dd"; /** * 英文全称 如:2010-12-01 23:15:06 */ public static String FORMAT_LONG = "yyyy-MM-dd HH:mm:ss"; /** * 精确到毫秒的完整时间 如:yyyy-MM-dd HH:mm:ss.S */ public static String FORMAT_FULL = "yyyy-MM-dd HH:mm:ss.S"; /** * 中文简写 如:2010年12月01日 */ public static String FORMAT_SHORT_CN = "yyyy年MM月dd"; /** * 中文全称 如:2010年12月01日 23时15分06秒 */ public static String FORMAT_LONG_CN = "yyyy年MM月dd日 HH时mm分ss秒"; /** * 精确到毫秒的完整中文时间 */ public static String FORMAT_FULL_CN = "yyyy年MM月dd日 HH时mm分ss秒SSS毫秒"; /** * 获得默认的 date pattern */ public static String getDatePattern() { return FORMAT_LONG; } /** * 根据预设格式返回当前日期 * @return */ public static String getNow() { return format(new Date()); } /** * 根据用户格式返回当前日期 * @param format * @return */ public static String getNow(String format) { return format(new Date(), format); } /** * 使用预设格式格式化日期 * @param date * @return */ public static String format(Date date) { return format(date, getDatePattern()); } /** * 使用用户格式格式化日期 * @param date 日期 * @param pattern 日期格式 * @return */ public static String format(Date date, String pattern) { String returnValue = ""; if (date != null) { SimpleDateFormat df = new SimpleDateFormat(pattern); returnValue = df.format(date); } return (returnValue); } /** * 使用预设格式提取字符串日期 * @param strDate 日期字符串 * @return */ public static Date parse(String strDate) { return parse(strDate, getDatePattern()); } /** * 使用用户格式提取字符串日期 * @param strDate 日期字符串 * @param pattern 日期格式 * @return */ public static Date parse(String strDate, String pattern) { SimpleDateFormat df = new SimpleDateFormat(pattern); try { return df.parse(strDate); } catch (ParseException e) { e.printStackTrace(); return null; } } /** * 使用用户格式提取字符串日期 * @param strDate 日期字符串 * @param pattern 日期格式 * @return */ public static String parseDate(String strDate, String pattern) { SimpleDateFormat df = new SimpleDateFormat(pattern); try { return df.format(df.parse(strDate)); } catch (ParseException e) { e.printStackTrace(); return null; } } /** * 在日期上增加数个整月 * @param date 日期 * @param n 要增加的月数 * @return */ public static Date addMonth(Date date, int n) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MONTH, n); return cal.getTime(); } /** * 在日期上增加天数 * @param date 日期 * @param n 要增加的天数 * @return */ public static Date addDay(Date date, int n) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.DATE, n); return cal.getTime(); } /** * 获取时间戳 */ public static String getTimeString() { SimpleDateFormat df = new SimpleDateFormat(FORMAT_FULL); Calendar calendar = Calendar.getInstance(); return df.format(calendar.getTime()); } /** * 获取日期年份 * @param date 日期 * @return */ public static String getYear(Date date) { return format(date).substring(0, 4); } /** * 按默认格式的字符串距离今天的天数 * @param date 日期字符串 * @return */ public static int countDays (String date) { long t = Calendar.getInstance().getTime().getTime(); Calendar c = Calendar.getInstance(); c.setTime(parse(date)); long t1 = c.getTime().getTime(); return (int)(t/1000 - t1/1000)/3600/24; } /** * 按用户格式字符串距离今天的天数 * @param date 日期字符串 * @param format 日期格式 * @return */ public static int countDays (String date, String format) { long t = Calendar.getInstance().getTime().getTime(); Calendar c = Calendar.getInstance(); c.setTime(parse(date, format)); long t1 = c.getTime().getTime(); return (int)(t/1000 - t1/1000)/3600/24; } /** * 给出一个时间,得到小时 */ public static int getHourByDate(String currentDate) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date current = format.parse(currentDate); return current.getHours(); } catch (ParseException e) { e.printStackTrace(); System.out.println("得到小时数出错!"); return 0; } } /** * 得到当前月份 * @return */ public static int getCurMonth(){ Calendar ca = Calendar.getInstance(); int month = ca.get(Calendar.MONTH); return month+1; } /** * 通过毫秒数转换为时间 * @return */ public static String getDateTileByMillos(long modifiedTime){ Date d = new Date(modifiedTime); String strtile = format(d); return strtile; } /** * 得到当前年份 */ public static String getCurrentYear() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy"); String currYear = sdf.format(new Date()); return currYear; } /** * 得到当前月的日列表 * @param month * @return */ public static List<String> getMonthList(int month) { int year = 0; int day = 0; Calendar c = Calendar.getInstance();// 获得系统当前日期 year = c.get(Calendar.YEAR); if (month < 1) { month = c.get(Calendar.MONTH) + 1;// 系统日期从0开始算起 } day = c.get(Calendar.DAY_OF_MONTH); c.set(Calendar.YEAR, year); c.set(Calendar.MONTH, day - 1);// Java月份才0开始算 int dateOfMonth = c.getActualMaximum(Calendar.DATE); System.out.println("当前年:" + year + " 当前月:" + month + " 当前天" + day); List<String> monthList = new ArrayList<String>(); for (int i = 1; i <= dateOfMonth; i++) { System.out.println(year + "年" + month + "月" + i + "日"); monthList.add(year + "年" + month + "月" + i + "日"); } return monthList; } /** * 得到当前月初日期 * @param datae * @return */ public static String getYueChu() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD"); String datae = sdf.format(new Date()); String[] strs = datae.split("-"); String newstr = strs[0] + "-" + (Integer.parseInt(strs[1])) + "-"+ "01"; return newstr; } /** * 得到当前月月末 * * @param datae * @return */ public static String getYueMo(String datae) { String[] strs = datae.split("-"); String newstr = strs[0] + "-" + strs[1] + "-" + "30"; return newstr; } /** * 根据生日计算年龄 */ public static long getAgeByBirthDay(String birthDay) { long year = 0; try { Date date = new Date(); Date mydate = parse(birthDay, "yyyy-MM-dd"); long day = (date.getTime() - mydate.getTime())/ (24 * 60 * 60 * 1000) + 1; year = day / 365; } catch (Exception e) { year = 0; } return year; } /** * 传入一个时间判断是否与当前时间相等 */ public static boolean JudgeTimeEquals(String time){ SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); String curTime = sdf.format(new Date()); //System.out.println("当前时间是:"+curTime+" 对比时间:"+time); if(curTime.equals(time)){ return true; }else{ return false; } } }
相关推荐
2014" 专门用于处理springboard定时任务修改cron参数的日期处理方法 12.获取本月第一天(月初时间) 13.获取本月最后一天(月底时间) 以上这些方法都在该Java工具类,当然不仅仅包含这些,还有其他的很多。
这个代码实现了一个简单的日程安排管理系统,主要使用了Java的日期和时间处理技术。首先定义了一个ScheduleManager类,在构造函数中调用了loadAppointments()方法来加载已有的预约信息。该方法通过FileInputStream和...
javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供内置 BMP 插件使用的公共类的包。 javax.imageio.plugins.jpeg 支持内置 JPEG 插件的类。 javax....
一个简单的java库用于将显示日期格式化成几分钟,几天之前这样的格式
DateHandler.java日期处理类Java文件下载,有些功能很不错哦,比如计算是否是季度末、计算从现在开始几天后的时间、得到当前时间,用于文件名,使用yyyyMMddHHmmss格式、比较日期,与现在-N天的日期对比、比较日期,...
Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择 Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] ...
javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供内置 BMP 插件使用的公共类的包。 javax.imageio.plugins.jpeg 支持内置 JPEG 插件的类。 javax.imageio....
javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供内置 BMP 插件使用的公共类的包。 javax.imageio.plugins.jpeg 支持内置 JPEG 插件的类。 javax.imageio....
integerExample.java 演示各种整型变量的使用 isPrime.java 判断素数 leapYearByIf.java 用if语句判断闰年 leapYearByLogical.java 用逻辑表达式判断闰年 lowToUpper.java 小写字母转换成大写字母 lozengeStar...
Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择 Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] ...
Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择 Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] ...
Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择 Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] ...
Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择 Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] ...
javax.imageio.metadata 用于处理读写元数据的 Java Image I/O API 的包。 javax.imageio.plugins.bmp 包含供内置 BMP 插件使用的公共类的包。 javax.imageio.plugins.jpeg 支持内置 JPEG 插件的类。 javax....
Java源码:DateHandler日期时间计算处理类文件,包括了一些常用的处理函数,比如计算是否是季度末,计算从现在开始几天后的时间,带格式的日期,得到当前时间,用于文件名,没有特殊字符,使用yyyyMMddHHmmss格式,...
Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...
课堂作业,一个类用于加减日期,有方法setDate(),SeeDate(),AddDate(),SeeDate()返回一个字符串,AddDate()用于增加或减少日期,可以处理公元前,只要在int范围内都可
Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,日期选择 Java语言开发的简洁实用的日期选择控件,源码文件功能说明: [DateChooser.java] Java 日期选择控件(主体类) [public] ...
Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...
Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目。 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和...