下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
获得当前输入日期前(后)x天的日期,写了几种方法。
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,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();
}
}
}
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
相关文章
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250