java日期类封装
2015-11-16 17:20
519 查看
/** * @author xiaoqun.yi 日期工具类 */ public class DateTimeHelper { /** * 获取当前年 * @return yyyy */ public static String getCurrentYear() { Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间 String year = String.valueOf(c.get(Calendar.YEAR)); // 获取年 return year; } /** * 获取当前月 * 格式:mm */ public static String getCurrentMonth() { Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间 String month = String.valueOf(c.get(Calendar.MONTH) + 1).length() == 2 ? String .valueOf(c.get(Calendar.MONTH) + 1) : "0" + String.valueOf(c.get(Calendar.MONTH) + 1); return month; } /** * 获取当前天 * @return dd 不足10前面补0 */ public static String getCurrentDay() { Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间 String day = String.valueOf(c.get(Calendar.DAY_OF_MONTH)).length() == 2 ? String .valueOf(c.get(Calendar.DAY_OF_MONTH) + 1) : "0" + String.valueOf(c.get(Calendar.DAY_OF_MONTH)); return day; } /** * 获取当前小时 * @return mm 不足10前面补0 */ public static String getCurrentHour() { Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间 String hour = String.valueOf(c.get(Calendar.HOUR_OF_DAY)).length() == 2 ? String .valueOf(c.get(Calendar.HOUR_OF_DAY)) : "0" + String.valueOf(c.get(Calendar.HOUR_OF_DAY)); return hour; } /** * 获取当前分钟 * @return mm 不足10前面补0 */ public static String getCurrentMinute() { Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); // 获取东八区时间 String min = String.valueOf(c.get(Calendar.MINUTE)).length() == 2 ? String .valueOf(c.get(Calendar.MINUTE)) : "0" + String.valueOf(c.get(Calendar.MINUTE)); return min; } /** * 获取当前日期 * @return yyyy-MM-dd */ public static String getCurrentDate(){ Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(new Timestamp(calendar.getTime().getTime())); } /** * * @param month 前几个月 * @param day 前几天 * @return yyyyMMdd */ public static String getBeforeDate(int month,int day){ Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); calendar.add(Calendar.MONTH, month); //得到前一 calendar.add(Calendar.DATE, day); //得到前一 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(new Timestamp(calendar.getTime().getTime())); } /** * 格式显示日期 * @param str yyyyMMdd * @return yyyy年MM月dd日 */ public static String formtDate(String str){ return str.substring(0,4)+"年"+str.substring(4,6)+"月"+str.substring(6,8)+"日"; } /** * 获取系统当期时间, * @return Timestamp */ public static Timestamp getNowTimestamp() { return new Timestamp(System.currentTimeMillis()); } /** * 系统当期时间 * @return Date */ public static Date getNowDate() { return new Date(System.currentTimeMillis()); } /** * 获取当期时间字符串 * @param pattern 格式化字符串 * @return */ public static String getNowDateStr(String pattern) { SimpleDateFormat sdf = new SimpleDateFormat(pattern); return sdf.format(new Date(System.currentTimeMillis())); } /** * 时间转化 字符串转换成时间 * @param dateStr 字符串 * @param pattern 格式 * @return Timestamp */ public static Timestamp convertToTimestamp(String dateStr,String pattern) { try { SimpleDateFormat sdf = new SimpleDateFormat(pattern); Date date = sdf.parse(dateStr); return new Timestamp(date.getTime()); } catch(Exception e) { e.printStackTrace(); } return null; } /** * * @param timeMillis 时间转换字符串 * @param pattern * @return */ public static String converToStr(long timeMillis, String pattern) { Timestamp t = new Timestamp(timeMillis); return convert(t, pattern); } /** * 时间转化 字符串转换成时间 * @param dateStr * @param pattern * @return Date */ public static Date convertToDate(String dateStr, String pattern) { try { SimpleDateFormat sdf = new SimpleDateFormat(pattern); return sdf.parse(dateStr); } catch(Exception e) { e.printStackTrace(); } return null; } /** * 时间转化 时间字符串 * @param timestamp * @param pattern * @return String */ public static String convert(Timestamp timestamp, String pattern) { if (timestamp == null) { return null; } SimpleDateFormat sdf = new SimpleDateFormat(pattern); return sdf.format(new Date(timestamp.getTime())); } /** * 时间转化 根据格式转换时间为字符串 * @param date * @param pattern * @return String */ public static String conver(Date date, String pattern) { if (date == null) { return null; } SimpleDateFormat sdf = new SimpleDateFormat(pattern); return sdf.format(date); } /** * 时间增加 天数 * @param currentmi * @param day * @return Date */ public static Date addDateTime(long currentmi, int day) { Calendar cl = Calendar.getInstance(); cl.setTimeInMillis(currentmi); cl.add(Calendar.DATE, day); return new Date(cl.getTimeInMillis()); } /** * 给时间增加一定天数 * @param currentmi * @param day 增加的天数 * @param pattern * @returnn String */ public static String addDateTimeToStr(long currentmi, int day,String pattern) { Calendar cl = Calendar.getInstance(); cl.setTimeInMillis(currentmi); cl.add(Calendar.DATE, day); long result = cl.getTimeInMillis(); return conver(new Date(result), pattern); } /** * 获取当前月的第一天 * @return Timestamp */ public static Timestamp getFirstDayOfMonth() { Calendar cal = Calendar.getInstance(); cal.set(GregorianCalendar.DAY_OF_MONTH, 1); return new Timestamp(cal.getTime().getTime()); } /** * 获取当前月第一天 * @return yyyyMMdd */ public static String getCurrentMonthFirstDay1(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); return sdf.format(getFirstDayOfMonth()); } /** * 获取当前月第一天 * @return yyyy年MM月dd日 */ public static String getCurrentMonthFirstDay2(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM年dd日"); return sdf.format(getFirstDayOfMonth()); } /** * 获取当月的最后一天 * @return Timestamp */ public static Timestamp getLastDayOfMonth() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.DATE, 1); cal.roll(Calendar.DATE, -1); return new Timestamp(cal.getTime().getTime()); } /** * 获取当前月最后一天 * @return yyyyMMdd */ public static String getCurrentMontLastDay1(){ Calendar cal = Calendar.getInstance(); cal.set(Calendar.DATE, 1); cal.roll(Calendar.DATE, -1); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); return sdf.format(cal.getTime()); } /** 获取当月的最后一天 * 返回yyyy年mm月dd日 * @return yyyy年MM月dd日 */ public static String getCurrentMontLastDay2(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); return sdf.format(getLastDayOfMonth()); } /** * 得到今天的前一天 * @return yyyyMMdd */ public static String getOneDayfore(){ Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")); calendar.add(Calendar.DATE, -1); //得到前一 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); return sdf.format(new Timestamp(calendar.getTime().getTime())); } }
相关文章推荐
- Java引用数据类型之数组
- HibernateTemplate和HibernateDaoSupport(spring注入问题)
- Spring面试题和答案
- Java实现二叉树的创建和遍历操作(有更新)
- Java实现二叉树的创建和遍历操作
- java 使用 mail 发送邮件
- spring mvc 框架搭建及详解
- MyEclipse2014 常用设置优化
- eclipse上单步调试Hive
- springmvc前台往后传值的几种方式
- java中的排序方法
- Spring AOP在Bean生命周期中的调用时机
- 加密解密java
- spring 定时任务的写法
- java加密解密简单列子
- Java Maven项目打包部署流程
- android推送:eclipse paho mqtt 项目在android studio环境下的源码
- spring+mybatis编译错误
- 从”JAVA“而终 24:BOM以及DOM讲解
- 源码分析:Java对象的内存分配