具体如下:
java.util.Calendar
voidsetTime(Date date)
Sets this Calendar's time with the given Date.设置日期时间
abstract void add(int field, int amount)
Adds or subtracts the specified amount of time to the given calendar field,
based on the calendar's rules.
参数1是 Calendar.DAY_OF_MONTH
参数2是天数,如果是负数,则为减
DategetTime()
Returns a Date object representing thisCalendar's time value (millisecond offset from the Epoch").得到时间
扩展资料
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等
(参考资料 百度百科 Java)
编写步骤如下
声明Date变量并获取当前时间
声明SimpleDateFormat获取格式化对象
使用Calendar对日期进行操作,如天数加减
代码如下
public static void main(String[] args) {
System.out.println(operDate("2018-05-24", -1));
}
public static String operDate(String str, int day){
Date date;
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(str);
//当前日期
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");//格式化对象
Calendar calendar = Calendar.getInstance();//日历对象
calendar.setTime(date);//设置当前日期
calendar.add(Calendar.DAY_OF_MONTH, day);//加、减
return format.format(calendar.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
return "";
}
结果:
//根据时间字符串把天数加1
public String addOneDay(String time)
{
String add = null;
try {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date timeNow = df.parse(time);
Calendar begin=Calendar.getInstance();
begin.setTime(timeNow);
begin.add(Calendar.DAY_OF_MONTH,1);
add = df.format(begin.getTime());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return add;
}
这是加1的你把1改成-1就行了
获取当前时间的函数:
//获取当前时间
public String getTime() {
TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
TimeZone.setDefault(tz);
Calendar rightNow = Calendar.getInstance();
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//格式大小写有区别
String sysDatetime = fmt.format(rightNow.getTime());
return sysDatetime;
}
Date beginDate = new Date();
Calendar date = Calendar.getInstance();
date.setTime(beginDate);
date.set(Calendar.DATE, date.get(Calendar.DATE) - 1);
Date endDate = dft.parse(dft.format(date.getTime()));
减几天都可以 !
为什么输出会是这样的?
Sun Aug 07 00:00:00 CST 2011
想要的格式是: 2011-08-07
Sysetm.out.println(dft.format(endDate));
DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date);