时间工具类
来源:互联网 发布:mac安装什么杀毒软件 编辑:程序博客网 时间:2024/06/06 17:54
import java.sql.Timestamp;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import org.apache.commons.lang.StringUtils;import com.landz.batch.commons.constant.DateConstant;/** * 时间工具类 * * @author Administrator * */public class DateUtil {/*** * 日期转换格式:年月日 */public static final String PATTERN_YYYYMMDD="yyyy-MM-dd";/*** * 日期转换格式:年月日 时分秒 */public static final String PATTERN_YYYYMMDDHHMMSS="yyyy-MM-dd HH:mm:ss";/** * 获取当前时间前N天的日期/获取当前时间前N小时的日期 * * @param timeDay * 需要减去的天数或小时数 * @param type * [day]按天计算、[hou]按小时计算 * @return 计算后新日期 */public static Date fomartDate(Integer timeDay, String type) throws Exception {Calendar calendar = Calendar.getInstance();switch (type) {case DateConstant.DAY:calendar.add(Calendar.DATE, -timeDay);break;case DateConstant.HOUR:calendar.add(Calendar.HOUR, -timeDay);break;}return calendar.getTime();}/** * Date类型日期转换成字符串 */public static String formartDateToString(Date date,String pattern) throws Exception{if(date==null)return "";SimpleDateFormat sdf=new SimpleDateFormat(pattern);return sdf.format(date);}/** * String类型日期转换成Date */public static Date formartStringToDate(String dateStr,String pattern) throws Exception{if(StringUtils.isBlank(dateStr))return null;SimpleDateFormat sdf=new SimpleDateFormat(pattern);return sdf.parse(dateStr);}/** * Date类型去掉时分秒 */public static Date formartDateToDate(Date date,String pattern) throws Exception{if(date==null)return null;SimpleDateFormat sdf=new SimpleDateFormat(pattern);String sdate=sdf.format(date);return sdf.parse(sdate);}/** * 获取两个日期之间的天数 * @param maxDate * @param minDate * @return 相差天数 */public static Long getTwoDateDay(Date maxDate,Date minDate) throws Exception{if(maxDate==null||minDate==null)return 0l;return (maxDate.getTime()-minDate.getTime())/(24*60*60*1000); }/** * 获取两个日期之间相差月份 *@param maxDate * @param minDate * @return 相差月 */public static Long getTwoDateMonth(Date maxDate,Date minDate) throws Exception{ int month=0; Calendar cal = Calendar.getInstance(); cal.setTime(maxDate); int maxDateYear=cal.get(Calendar.YEAR); int maxDateMonth=cal.get(Calendar.MONTH); cal.setTime(minDate); int minDateYear=cal.get(Calendar.YEAR); int minDateMonth=cal.get(Calendar.MONTH); if(maxDateYear==minDateYear){ month=maxDateMonth-minDateMonth; }else{ month=12*(maxDateYear-minDateYear)+maxDateMonth-minDateMonth; } return (long)month;}/** * Timestamp格式日期转换成Date类型 * @param beforeDate Timestamp格式的日期 * @return Date类型日期 * @throws Exception */public static Date formartTimestampToDate(Timestamp beforeDate) throws Exception{if(beforeDate==null)return null;return new Date(beforeDate.getTime());} /** * 获得指定日期的前一天 * * @param specifiedDay * @return * @throws ParseException * @throws Exception */ public static String getSpecifiedDayBefore(String specifiedDay) throws ParseException {//可以用new Date().toLocalString()传递参数 Calendar c = Calendar.getInstance(); Date date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay); c.setTime(date); int day = c.get(Calendar.DATE); c.set(Calendar.DATE, day - 1); String dayBefore = new SimpleDateFormat("yyyy-MM-dd").format(c .getTime()); return dayBefore; } }
时间段内循环遍历每一天
Calendar start = Calendar.getInstance();start.set(2015, 0, 1);//注意,此处月份是从0开始Long startTIme = start.getTimeInMillis();Calendar end = Calendar.getInstance();end.set(2016, 5, 15);Long endTime = end.getTimeInMillis();Long oneDay = 1000 * 60 * 60 * 24l;Long time = startTIme;while (time <= endTime) {Date d = new Date(time);DateFormat df = new SimpleDateFormat("yyyy-MM-dd");System.out.println(df.format(d));time += oneDay;}
0 0
- 【Android工具】时间工具类
- 时间计算工具类
- 时间工具类
- 时间工具类
- java时间工具类
- java 时间工具类
- 时间工具类[DateUtil]
- 时间工具类(DateUtil)
- 时间工具类(DateUtil)
- Java时间工具类
- Java时间工具类
- JS时间工具类
- 日期时间工具类
- PHP时间工具类
- 时间工具类
- 时间工具类
- 时间处理工具类
- 时间工具类(DateUtil)
- Java单例模式中双重检查锁的问题
- java.lang.InterruptedException
- 安装和测试Kafka
- 流和文件(文件的保存)
- 《機器學習實戰》學習筆記
- 时间工具类
- 在oschian上面建立自己的开源项目livefeng的过程
- 关于C++的模板类
- test
- java中abstract详解
- 滚动表格到某一行
- c++——第二次作业2
- ORACLE建索引
- sublime text3如何在命令行运行C++程序