时间

1.获取当天日期

/**
	 *
	 * 获取当天日期
	 */
	public static void main(String[] args) {
	   /*
		*calendar.add函数的第二个参数如果是负表示当天之前,如果是正表示当天之后
		*calendar.add(calendar.DATE, -1)//昨天的日期
		*calendar.add(calendar.DATE, -2)//前天的日期
		*calendar.add(calendar.DATE, 1)//明天的日期
		*calendar.add(calendar.DATE, 2)//后天的日期
		*/
		Date date=new Date();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(calendar.DATE, 0);//如果把0修改为-1就代表昨天
        date = calendar.getTime();
        SimpleDateFormat format= new SimpleDateFormat("yyyy-MM-dd");
        String dateString = format.format(date);
        System.out.println(dateString);
	}
package com.xiaoai.util;

import java.util.TimerTask;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class timerTaskUtil {

	/*
	 * 定时器(每天固定时间执行一次任务)
	 */
//	public static void showTdggTimer() {
//		TimerTask task = new TimerTask() {
//			@Override
//			public void run() {
//
//			}
//		};
//
//		// 设置执行时间
//		Calendar calendar = Calendar.getInstance();
//		int year = calendar.get(Calendar.YEAR);
//		int month = calendar.get(Calendar.MONTH);
//		int day = calendar.get(Calendar.DAY_OF_MONTH);// 每天
//		// 定制每天固定时间执行,
//		calendar.set(year, month, day, 10, 30, 00);
//		Date date = calendar.getTime();
//		Timer timer = new Timer();
//
//		// 每天的date时刻执行task,每隔2秒重复执行
//		// int period = 2 * 1000;
//		// timer.schedule(task, date, period);
//		// 每天的date时刻执行task, 仅执行一次
//		timer.schedule(task, date);
//	}

	/**
	 * 获取当前系统时间
	 * 
	 * @return
	 */
	public static String getDate() {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设置日期格式
		String date = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳
		return date;
	}
	
	/**
	 * 获取当前系统日期
	 * 
	 * @return
	 */
	public static String getDay() {
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// 设置日期格式
		String date = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳
		return date;
	}
	
	/**
	 * 字符串转时间
	 * @param strDate
	 * @return
	 */
	public static Date changeTime(String strDate) {
        //注意:SimpleDateFormat构造函数的样式与strDate的样式必须相符
        SimpleDateFormat sDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //加上时间
        //必须捕获异常
        try {
            Date dateTime = sDateFormat.parse(strDate);
            return dateTime;
        } catch(ParseException px) {
            px.printStackTrace();
            return null;
        }
    }
	
	/**
     * Description: 判断一个时间是否在一个时间段内
     *
     * @param nowTime 当前时间 
     * @param beginTime 开始时间 
     * @param endTime 结束时间 
     */
    public static boolean booCalendar(Date nowTime, Date beginTime, Date endTime) {
        Calendar date = Calendar.getInstance();
        date.setTime(nowTime);

        Calendar begin = Calendar.getInstance();
        begin.setTime(beginTime);

        Calendar end = Calendar.getInstance();
        end.setTime(endTime);

        return date.after(begin) && date.before(end);
    }
    /**
     * 判断该事件是否是当天时间
     * @param date
     * @return
     */
    public static boolean isToday(Date date){
	    SimpleDateFormat fmt=new SimpleDateFormat("yyyy-MM-dd");
	    if(fmt.format(date).toString().equals(fmt.format(new Date()).toString())){//格式化为相同格式
	         return true;
	     }else {
	       return false;
	     }  
     }

	/**
	 * 获取未来 第 past 天的日期
	 * 
	 * @param past
	 * @return
	 */
	public static String getFetureDate(int past) {
		Calendar calendar = Calendar.getInstance();
		calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + past);
		Date today = calendar.getTime();
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		String result = format.format(today);
		return result;
	}
	
	/**
	 * 获取当天日期
	 * @return
	 */
	public static String getDateNoTime(int days) {
		/*
		 * calendar.add函数的第二个参数如果是负表示当天之前,如果是正表示当天之后 calendar.add(calendar.DATE,
		 * -1)//昨天的日期 calendar.add(calendar.DATE, -2)//前天的日期
		 * calendar.add(calendar.DATE, 1)//明天的日期 calendar.add(calendar.DATE,
		 * 2)//后天的日期
		 */
		Date date = new Date();
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
		calendar.add(calendar.DATE, days);//days为0表示当天,如果把0修改为-1就代表昨天
		date = calendar.getTime();
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		String dateString = format.format(date);
		return dateString;
	}

	/**
	 * 通过时间秒毫秒数判断两个时间的间隔
	 * 
	 * @param date1
	 * @param date2
	 * @return
	 */
	public static int differentDaysByMillisecond(Date date1, Date date2) {
		int days = (int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24));
		return days;
	}

	/**
	 * 判断是否大于3天
	 * 
	 * @param dateStr
	 * @return
	 */
	public static boolean ifDays(String dateStr) {
		// 设置日期格式
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		// 获取当前系统时间
		String dateStr2 = df.format(new Date());
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try {
			Date date2 = format.parse(dateStr2);
			Date date = format.parse(dateStr);
			int days = differentDaysByMillisecond(date, date2);
			if (days < dataUtil.days) {
				return true;
			} else {
				return false;
			}
		} catch (ParseException e) {
			e.printStackTrace();
			return false;
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

哎呦喂O_o嗨

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

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

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

打赏作者

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

抵扣说明:

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

余额充值