获得当前输入日期前(后)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-13 22:24:53

获得当前输入日期前(后)x天的日期的相关文章

获取当前日期前(后)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

My97DatePicker关于请假日期前后端判断已选日期不可再选

关于My97DatePicker关于请假日期前后端判断已选日期不可再选,不过有个小bug(关于在数据库中已经存在 比如:请假12-15,17-18这几天,但我又请了11号 16号,在前端页面没有提示 其实已经重复了,不能再请,我写在了后台页面,可查看连接https://www.cnblogs.com/TripMaster/p/11398399.html),后期会修改. 1 <tr> 2 <td align="right" width="30%"&g

UNIX下获取前一天后一天的日期

在Linux下很容易解决这个问题 date  +"%Y%m%d" -d  "+n days"         今天的后n天日期 date  +"%Y%m%d" -d  "-n days"         今天的前n天日期 在UNIX下没有'-d'选项,所以无法使用上面的方法 网上看到有一种通过时区进行调整echo `TZ=aaa16 date +%Y%m%d\ %H:%M:%S` 注意:date打印的并不是本地时区的时间,而是

iOS 身份证最后一位是X,输入17位后自动补全X(转)

非原创,转载自http://blog.csdn.net/l2i2j2/article/details/51542028如果身份证最后一位是X,输入17位后自动补全X// textField代理方法 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { // string.length为0,表明没有输

ThinkPHP中如何获取指定日期后工作日的具体日期

思路: 1.获取到查询年份内所有工作日数据数组2.获取到查询开始日期在工作日的索引3.计算需查询日期索引4.获得查询日期 /*创建日期类型记录表格*/ CREATE TABLE `tb_workday` ( `did` int(11) NOT NULL AUTO_INCREMENT, `exact_date` varchar(32) NOT NULL COMMENT '具体日期:格式date("Ymd");(20170205)', `date_year` varchar(32) NOT

输入人民币/美元后自动判断,输出转换后相对应的值

1 ''' 2 作者:pasaulis 3 版本:v2.0 4 日期:2018.11.7 5 功能:输入人民币/美元后自动判断,输出转换后相对应的值 6 ''' 7 in_str_value=input('请输入人民币/美元金额(格式示例:100rmb/100usd)') 8 9 usd_vs_value=6.91 10 rmb_value='' 11 usd_value='' 12 if in_str_value[-3:]=='rmb': 13 rmb_value=eval(in_str_va

Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是指备份执行时当天的日期),最后只保留最近7天的备份 2.上传/home/osyunweibak里面的备份文件到远程FTP服务器上,并且只保留最近7天的备份. 3.FTP服务器:192.168.21.139 端口:21 账号:osyunwei 密码:123456 osyunweibak为备份文件存放目

解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细(转)

原文链接:解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细 题目 一步一步解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细. 解答 这道题目没有所谓的完全的正确答案,这个题目可以让你在任意的一个点深入下去, 只要你对这个点是熟悉的.以下是一个大概流程: 浏览器向DNS服务器查找输入URL对应的IP地址. DNS服务器返回网站的IP地址. 浏览器根据IP地址与目标web服务器在80端口上建立TCP连接 浏览器获取请求页面的html代码. 浏览器在显示窗口内渲染H

【C语言】用指针函数完成:有a个学生,每个学生有b门课。要求在输入学生序号后输出该学生成绩

//用指针函数完成:有a个学生,每个学生有b门课.要求在输入学生序号后输出该学生成绩 #include <stdio.h> float * search(float (* pointer )[4],int n) //形参pointer是一个数组指针 { float *pt; pt=*(pointer+n); return pt; } int main() { float score[][4]={{60,70,80,90},{56,57,78,85},{75,45,36,85}}; float