时间DataUtils

package com.qinpoint.utils;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

/**
 * @Auther: wt_logo
 * @Date: 2019/8/1 21:56
 * @Description: 时间操作类
 */
public class DateUtils {

    public static Date getDate(Date date){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.HOUR_OF_DAY,   0);
        calendar.set(Calendar.MINUTE,   0);
        calendar.set(Calendar.SECOND,   0);
        calendar.set(Calendar.MILLISECOND,   0);
        calendar.add(Calendar.DAY_OF_MONTH, 1);
        dt = calendar.getTime();
        return dt;
    }

    /**
     * 将秒转化为时分秒
     * @param date
     * @return
     */
    public static String getDate(Integer date) {
        int h = date/3600;
        int m = (date%3600)/60;
        int s = (date%3600)%60;
        return h+"-"+m+"-"+s;
    }

    public static String getDateString(Date date){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String sDate = sdf.format(date);
        return sDate;
    }

    public static String getDateHH(Date date){
        SimpleDateFormat sdf = new SimpleDateFormat("HH");
        String sDate = sdf.format(date);
        return sDate;
    }

    public static String getDateStrings(Date date){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String sDate = sdf.format(date);
        return sDate;
    }

    public static long getDateLong(Date date){
        long lDate = 0;
        Date dt = getDate(date);
        lDate = dt.getTime();
        return lDate;
    }

    public static long getDateTimeLong(Date date){
        long lDate = 0;
        lDate = date.getTime();
        return lDate;
    }

    public static String getString(Date date, String format){
        String sDate ="";
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        sDate = sdf.format(date);
        return sDate;
    }


    public static long getString(String dateTime, String format){
        long lDate = 0;

        SimpleDateFormat sdf = new SimpleDateFormat(format);
        try {
            Date date = sdf.parse(dateTime);
            lDate = date.getTime();
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return lDate;
    }

    public static String getString(long tm, String format){
        String sDate="";
        Date date = DateUtils.putDateTime(tm);
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        sDate = sdf.format(date);
        return sDate;
    }

    public static Date putDateTime(long time){
        Date date = null;
        date = new Date(time);
        return date;
    }

    public static Date putDate(long time){
        Date date = null;
        date = new Date(time);
        date = getDate(date);
        return date;
    }

    public static Date putDateTime(String dtString, String format){
        Date date = null;
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        try {
            date = sdf.parse(dtString);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return date;
    }


    public static Date AddYear(Date date, int y){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.YEAR, y);
        dt = calendar.getTime();
        return dt;
    }
    public static Date AddMonth(Date date, int m){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.MONTH, m);
        dt = calendar.getTime();
        return dt;
    }
    public static Date AddDay(Date date, int d){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.DAY_OF_MONTH, d);
        dt = calendar.getTime();
        return dt;
    }
    public static Date AddHour(Date date, int h){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.HOUR_OF_DAY, h);
        dt = calendar.getTime();
        return dt;
    }
    public static Date AddMinute(Date date, int m){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.MINUTE, m);
        dt = calendar.getTime();
        return dt;
    }
    public static Date AddSecond(Date date, int s){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.SECOND, s);
        dt = calendar.getTime();
        return dt;
    }

    public static Date Add(Date date, int millisecond){
        Date dt = null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.MILLISECOND, millisecond);
        dt = calendar.getTime();
        return dt;
    }
    public static long Subtrat(Date date1, Date date2){
        long l = 0;
        l = date1.getTime() - date2.getTime();
        return l;
    }

    /**
     * 将字符串转化为时间
     * @param source
     * @return
     */
    public static Date getStringToDate(String source){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;
        try {
            date = sdf.parse(source);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

    /**
     * 获取某天的开始日期
     *
     * @param offset 0今天,1明天,-1昨天,依次类推
     * @return
     */
    public static LocalDateTime dayStart(int offset) {
        return LocalDate.now().plusDays(offset).atStartOfDay();
    }

    /**
     * 到明天凌晨剩余时间
     * @return
     */
    public static long isNowToHour(){
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.DAY_OF_MONTH, cal.get(Calendar.DAY_OF_MONTH) + 1);
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        long diff = cal.getTimeInMillis() - System.currentTimeMillis();
        return diff;
    }

    /**
     * 返回两个时间之间的日期数据
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return
     */
    public static List<String> getDays(String startTime, String endTime) {
        // 返回的日期集合
        List<String> days = new ArrayList<String>();
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date start = dateFormat.parse(startTime);
            Date end = dateFormat.parse(endTime);

            Calendar tempStart = Calendar.getInstance();
            tempStart.setTime(start);

            Calendar tempEnd = Calendar.getInstance();
            tempEnd.setTime(end);
            //日期加1(包含结束)
            tempEnd.add(Calendar.DATE, +1);
            while (tempStart.before(tempEnd)) {
                days.add(dateFormat.format(tempStart.getTime()));
                tempStart.add(Calendar.DAY_OF_YEAR, 1);
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return days;
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值