java中操作日期date常用类整理

1 篇文章 0 订阅
package com.hongware.o2o.api.bussiness.openApi.service.mobile.form;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class TimeToolClass {
	/**
	 * date 转换 String  
	 * @param date 要转换的日期
	 * @return 日期 String
	 * */
	public String getTransformationString(Date date){
		String a=(new SimpleDateFormat("yyyy-MM-dd")).format(date);  
		return a;
	}
	
	/**
	 * String 转换 Date  日期只能是不带时分秒的
	 * @param String 要转换的日期
	 * @return 日期 date
	 * @throws ParseException 
	 * */
	public Date getTransformation(String date) throws ParseException{
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date date1 = sdf.parse(date);
		return date1;
	}
	
	/**
	 * 获取两个日期之间的日期
	 * @param start 开始日期
	 * @param end 结束日期
	 * @return 日期集合
	 * */
	public List<Date> getBetweenDates(Date start, Date end) {
	    List<Date> result = new ArrayList<Date>();
	    Calendar tempStart = Calendar.getInstance();
	    tempStart.setTime(start);
	    tempStart.add(Calendar.DAY_OF_YEAR, 1);
	    Calendar tempEnd = Calendar.getInstance();
	    tempEnd.setTime(end);
	    while (tempStart.before(tempEnd)) {
	        result.add(tempStart.getTime());
	        tempStart.add(Calendar.DAY_OF_YEAR, 1);
	    }
	    return result;
	}
	
	/**
	 * 获取两个日期之间相差几天
	 * */
	public Long getDifference(String start,String end){
		long days=0;
		try {
			SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
	        Date fDate=sdf.parse(start);
	        Date oDate=sdf.parse(end);
	        days=(oDate.getTime()-fDate.getTime())/(1000*3600*24);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return days;
	}
	/**
	 * 获取当前小时
	 * */
	public int getDangqian(){
		SimpleDateFormat df1 = new SimpleDateFormat("HH");
		Date day=new Date();
		String todayEndDate=df1.format(day);
		int a=Integer.parseInt(todayEndDate);
		return a;
	}
	/**
	 * 获取从今天往前推得日期
	 * */
	public String getForwardDate(int a){
	SimpleDateFormat sdf =  new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.DATE, calendar.get(Calendar.DATE)-a);
        Date updateDate2 = calendar.getTime();
		return sdf.format(updateDate2);
	}
	/**
	 * 获取今日时间
	 * */
	public Map<String,String> getToday(){
		SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH");
		Map<String, String> map=new HashMap<String, String>();
		Date day=new Date();
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
		String todayStartDate=df.format(day)+" 00:00:00";
		String todayEndDate=df1.format(day)+":00:00";
		map.put("start", todayStartDate);
		map.put("end", todayEndDate);
		return map;
	}
	/**
	 * 获取今日时间(不带时分秒)
	 * */
	public Map<String,String> getToday1(){
		Map<String, String> map=new HashMap<String, String>();
		Date day=new Date();
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
		String todayStartDate=df.format(day);
		String todayEndDate=df.format(day);
		map.put("start", todayStartDate);
		map.put("end", todayEndDate);
		return map;
	}
	/**
	 * 获取昨日时间
	 * */
	public Map<String,String> getYesterday(){
		Map<String, String> map=new HashMap<String, String>();
		Date as = new Date(new Date().getTime()-24*60*60*1000);
		SimpleDateFormat matter1 = new SimpleDateFormat("yyyy-MM-dd");
		String yesterdayStartDate = matter1.format(as)+" 00:00:00";
		String yesterdayEndDate = matter1.format(as)+" 23:59:59";
		map.put("start", yesterdayStartDate);
		map.put("end", yesterdayEndDate);
		return map;
	}
	/**
	 * 获取昨日时间(不带时分秒)
	 * */
	public Map<String,String> getYesterday1(){
		Map<String, String> map=new HashMap<String, String>();
		Date as = new Date(new Date().getTime()-24*60*60*1000);
		SimpleDateFormat matter1 = new SimpleDateFormat("yyyy-MM-dd");
		String yesterdayStartDate = matter1.format(as);
		String yesterdayEndDate = matter1.format(as);
		map.put("start", yesterdayStartDate);
		map.put("end", yesterdayEndDate);
		return map;
	}
	/**
	 * 获取近七天时
	 * */
	public Map<String,String> getSevenDays(){
	Map<String, String> map=new HashMap<String, String>();
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	Date as = new Date(new Date().getTime()-24*60*60*1000);
        Calendar c = Calendar.getInstance();  
        c.add(Calendar.DATE, - 7);  
        Date monday = c.getTime();
        String sevenDaysStartDate = sdf.format(monday)+" 00:00:00";
        String sevenDaysEndDate = sdf.format(as)+" 23:59:59";
        map.put("start", sevenDaysStartDate);
		map.put("end", sevenDaysEndDate);
		return map;
	}
	/**
	 * 获取近七天时(不带时分秒)
	 * */
	public Map<String,String> getSevenDays1(){
	Map<String, String> map=new HashMap<String, String>();
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	Date as = new Date(new Date().getTime()-24*60*60*1000);
        Calendar c = Calendar.getInstance();  
        c.add(Calendar.DATE, - 7);  
        Date monday = c.getTime();
        String sevenDaysStartDate = sdf.format(monday);
        String sevenDaysEndDate = sdf.format(as);
        map.put("start", sevenDaysStartDate);
		map.put("end", sevenDaysEndDate);
		return map;
	}
	/**
	 * 获取近三十天时间
	 * */
	public Map<String,String> getThirtyDays(){
	Map<String, String> map=new HashMap<String, String>();
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	Date as = new Date(new Date().getTime()-24*60*60*1000);
	String sevenDaysEndDate = sdf.format(as);
	//获取三十天前日期
        Calendar theCa = Calendar.getInstance();
        theCa.setTime(as);
        theCa.add(theCa.DATE, -29);//最后一个数字30可改,30天的意思
        Date start = theCa.getTime();
        String startDate = sdf.format(start);//三十天之前日期
        String a=startDate+" 00:00:00";
        String b=sevenDaysEndDate+" 23:59:59";
        map.put("start", a);
		map.put("end", b);
		return map;
	}
	/**
	 * 获取近三十天时间(不带时分秒)
	 * */
	public Map<String,String> getThirtyDays1(){
	Map<String, String> map=new HashMap<String, String>();
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	Date as = new Date(new Date().getTime()-24*60*60*1000);
	String sevenDaysEndDate = sdf.format(as);
	//获取三十天前日期
        Calendar theCa = Calendar.getInstance();
        theCa.setTime(as);
        theCa.add(theCa.DATE, -29);//最后一个数字30可改,30天的意思
        Date start = theCa.getTime();
        String startDate = sdf.format(start);//三十天之前日期
        map.put("start", startDate);
		map.put("end", sevenDaysEndDate);
		return map;
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

国产野马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值