获取当前日期前(后)x天的日期

package com.xcfh.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
 *
 * @ClassName: BeforeOrAfterDate
 *
 * @Description: 获得当前输入日期前(后)x天的日期
 * @author PineTree
 * @date 2014年12月29日 下午3:52:46
 * @version
 */
public class BeforeOrAfterDate {

/**
     *
     * 查询当前日期前(后)x天的日期
     *
     * @param date 当前日期
     * @param day 天数(如果day数为负数,说明是此日期前的天数)
     * @return yyyy-MM-dd
     */
    public String beforNumDay(Date date, int day) {
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        c.add(Calendar.DAY_OF_YEAR, day);
        return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
    }
    
    /**
     *
     * 查询当前日期前(后)x天的日期
     *
     * @param date 当前日期
     * @param day 天数(如果day数为负数,说明是此日期前的天数)
     * @return yyyyMMdd
     */
    public String beforNumberDay(Date date, int day) {
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        c.add(Calendar.DAY_OF_YEAR, day);
        return new SimpleDateFormat("yyyyMMdd").format(c.getTime());
    }

/**
     * 查询当前日期前(后)x天的日期
     *
     * @param millis 当前日期毫秒数
     * @param day 天数(如果day数为负数,说明是此日期前的天数)
     * @return long 毫秒数只显示到天,时间全为0
     * @throws ParseException
     */
    public long beforDateNum(long millis, int day) throws ParseException {
        Calendar c = Calendar.getInstance();
        c.setTimeInMillis(millis);
        c.add(Calendar.DAY_OF_YEAR, day);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date(c.getTimeInMillis());
        Date newDate = sdf.parse(sdf.format(date));
        return newDate.getTime();
    }
    
    /**
     *  查询当前日期前(后)x天的日期
     *
     * @param millis 当前日期毫秒数
     * @param day 天数(如果day数为负数,说明是此日期前的天数)
     * @return yyyy-MM-dd
     */
    public String beforLongDate(long millis, int day) {
        Calendar c = Calendar.getInstance();
        c.setTimeInMillis(millis);
        c.add(Calendar.DAY_OF_YEAR, day);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date(c.getTimeInMillis());
        return sdf.format(date);
    }
    
    public static void main(String[] args) {
        try{
            BeforeOrAfterDate bd = new BeforeOrAfterDate();
            long nowDate = System.currentTimeMillis();
            System.out.println("nowDate = " + nowDate);
            long beforDate = bd.beforDateNum(nowDate, 3);
            System.out.println("beforDate = " + beforDate);
            Date date = new Date(beforDate);
            System.out.println("毫秒值结果日期 = " + date.toLocaleString());
            System.out.println("yyyyMMdd结果日期  = " + bd.beforNumberDay(new Date(nowDate), 3));
            System.out.println("yyyy-MM-dd结果日期  = " + bd.beforNumDay(new Date(nowDate), 3));
            System.out.println("毫秒值获取日期结果 = " + bd.beforLongDate(nowDate, 3));
        }catch(Exception e) {
            e.printStackTrace();
        }    
    }
}

时间: 2024-10-03 12:35:35

获取当前日期前(后)x天的日期的相关文章

sql server 获取当前日期前三十天的日期

select convert(varchar(10),dateadd(dd,number,dateadd(month,-1,getdate())),120) as dtfrom master..spt_values where type='P' and dateadd(dd,number,dateadd(month,-1,getdate()))<=getdate()--------------------- 作者:a-b-d 来源:CSDN 原文:https://blog.csdn.net/a6

获得当前输入日期前(后)x天的日期

package com.xcfh.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * * @ClassName: BeforeOrAfterDate * * @Description: 获得当前输入日期前(后)x天的日期 * @author PineTree * @date 2014年12月

获取当前日期小方法(可用于日期校验)

常用的获取当前日期的方法,在日期校验时很有用: 1 //Get Current Date Method for EntryDate Check 2 public static String getCurrentDate() { 3 4 long millsecs = System.currentTimeMillis(); 5 long secs = millsecs / 1000; 6 long mins = secs / 60; 7 int hours = (int)(mins / 60);

db2中如何获取当前日期前一周的日期

SELECT CURRENT_DATE - (DAYOFWEEK(CURRENT_DATE) - 2 + (ROW_NUMBER() OVER (ORDER BY 1) ) ) DAY AS result FROM SYSIBM.SYSCOLUMNS fetch first 7 rows only; 输出结果: 2013-03-24 2013-03-23 2013-03-22 2013-03-21 2013-03-20 2013-03-19 2013-03-18 你可以看情况, 自己再做一下排序

获取当前日期的后一天日期js代码

function tomorrow(){ var dd = new Date(); // 将当前日期 dd.setDate(dd.getDate()+1); // 设置时 分 秒 毫秒 dd.setHours(0, 0, 0, 0); return dd; }

shell:bash根据指定日期 获取前一天 和 后一天的日期

####################################################################### Copyright C 2014 ## All rights reserved ## Name: yestoday.sh# Author: Canux [email protected] ## Version: V1.0 ## Time: Wed 12 Nov 2014 04:37:37 PM CST# Description: ############

获取当前日期前多少天,或者格式化当前日期

以后用DateUtils这个 System.err.println(DateUtils.addDays(new Date(), -1)); System.err.println(DateUtils.addYears(new Date(), 1)); try { System.err.println(DateUtils.parseDate("2018-12-12", new String[]{"yyyy-MM-dd"})); } catch (ParseExcepti

Oracle获取当前日期前一个月的全部日期

当前日期为2018/08/12. 1.获取当前月份的天数: select to_number(to_char(last_day(sysdate),'dd')) from dual 2.获取当前日期前30天的全部日期. select trunc(sysdate-30)+rownum as days from dual connect by rownum<=30; 执行结果如下: 2.获取当前日期前一个月的全部日期.此处的一个月会根据当前月份获取本月的天数,可能是31天.30天或者29天. sele

python获取当前日期前后N天或N月的日期

# -*- coding: utf-8 -*- '''获取当前日期前后N天或N月的日期''' from time import strftime, localtime from datetime import timedelta, date import calendar year = strftime("%Y",localtime()) mon = strftime("%m",localtime()) day = strftime("%d",l