java 日期时间 加天数

superman_zgd 2010-05-25 03:08:26
String curDatetime = "2010-05-24 14:33:22";

java如何实现加1天变成2010-05-25 14:33:22 而不改变时间,只改变天数。
...全文
2064 19 打赏 收藏 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
java_2008_4_4 2010-05-26
  • 打赏
  • 举报
回复
用 Calander 吧,这个比较方便
danfeng_liguoxi 2010-05-26
  • 打赏
  • 举报
回复
2楼一定给了很正确的答案
欢乐极客 2010-05-25
  • 打赏
  • 举报
回复
顶楼上的
zsw0860 2010-05-25
  • 打赏
  • 举报
回复
方法很多我这里提供两种:
第一:可以用java.util.Calendar来实现

public static String getTime(){
Calendar c=new GregorianCalendar();
String time=c.get(Calendar.YEAR)+"-"+(c.get(Calendar.MONTH)+1)+"-"+c.get(Calendar.DATE)+" ";
int h=c.get(Calendar.HOUR_OF_DAY);
int m=c.get(Calendar.MINUTE);
int s=c.get(Calendar.SECOND);
String ph=h<10?"0":"";
String pm=m<10?"0":"";
String ps=s<10?"0":"";

time+=ph+h+":"+pm+m+":"+ps+s;
return time;
}



第二种方法:用java.text.SimpleDateFormatl;类获得
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String s = dateformat.format(new Date());
i李小武 2010-05-25
  • 打赏
  • 举报
回复
上面好多方法都行,calendar比较方便
zhang_zi_han 2010-05-25
  • 打赏
  • 举报
回复

add和roll两种方法
(1)add()方法
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.MONTH,);
cal.set(Calendar.DAY_OF_MONTH, 3);
cal.add(Calendar.DATE, -4);
Date date=cal.getTime();
System.out.println(df.format(date));
cal.add(Calendar.DATE, 4);
date=cal.getTime();
System.out.println(df.format(date));
输出:
2006-08-30
2006-09-03
(2)roll方法
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.MONTH,;
cal.set(Calendar.DAY_OF_MONTH, 3);
cal.roll(Calendar.DATE, -4);
date=cal.getTime();
System.out.println(df.format(date));
cal.roll(Calendar.DATE, 4);
date=cal.getTime();
System.out.println(df.format(date));
输出:
2006-09-29
2006-09-03
hollowinheart 2010-05-25
  • 打赏
  • 举报
回复
GregorianCalendar calendar = new GregorianCalendar();
calendar.add(GregorianCalendar.DATE, 1);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String result = df.format(calendar.getTime());
System.out.println(result);
很显然这样比较科学。

如果只要一个时间的话,可以 new Date(date.getTime()+24*60*60*1000);
zyus1987 2010-05-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 hudie1234567 的回复:]
Java code

import java.util.*;

public class DateOperator {
public static void main(String[] args) {
Calendar cd = Calendar.getInstance();
cd.set(2010,5,24,14,33,22);
……
[/Quote]
顶一个~!
huntor 2010-05-25
  • 打赏
  • 举报
回复
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

String curDatetime = "2010-05-24 14:33:22";

Date date = formatter.parse(curDatetime);

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.add(Calendar.DAY,1);

String datetime = formatter.format(calendar.getTime());
茫茫大海 2010-05-25
  • 打赏
  • 举报
回复
上面只实现了楼主的需求,而没有考虑程序的输出格式,楼主可以自己格式化!
茫茫大海 2010-05-25
  • 打赏
  • 举报
回复

import java.util.*;

public class DateOperator {
public static void main(String[] args) {
Calendar cd = Calendar.getInstance();
cd.set(2010,5,24,14,33,22);
System.out.println(cd.getTime());
cd.add(Calendar.DAY_OF_MONTH,1);
System.out.println(cd.getTime());
}
}
luomf 2010-05-25
  • 打赏
  • 举报
回复
Date curDatetime = new Date();
// 延时1天
long dateL = System.currentTimeMillis() + 24 * 60 * 60 * 1000l;
curDatetime .setTime(dateL);
System.out.println("date=" + curDatetime);
System.out.println("date2=" + new Date());
zhekezmban 2010-05-25
  • 打赏
  • 举报
回复
// 设置日期格式
SimpleDateFormat formatter = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);
String curDatetime = "2010-05-24 14:33:22";
Date changeDate = formatter.parse(curDatetime);
longTime = changeDate.getTime();
longTime += 86400000;
// 根据毫秒获得日期
Date newDate = new Date(longTime);
// 日期格式转换为字符串
String returnDate = formatter.format(newDate);

再补一个全的
清晨v 2010-05-25
  • 打赏
  • 举报
回复

SimpleDateFormat sdf=new S...("yyyy-MM-dd mm:hh:ss");
Date d1=sdf.parse(curDatetime);
Date d2=new Date(d1.getTime()+24*60*60*1000);
String s=sdf.format(d2);

思路就是这样,方法参数你再调整调整。。。。
zhekezmban 2010-05-25
  • 打赏
  • 举报
回复
加一天就是+86400000毫秒 上面的OK 我现在就在用
zhekezmban 2010-05-25
  • 打赏
  • 举报
回复
Date changeDate = formatter.parse(baseDate);
longTime = changeDate.getTime();
longTime += 86400000;
// 根据毫秒获得日期
Date newDate = new Date(longTime);
// 日期格式转换为字符串
String returnDate = formatter.format(newDate);
yaoyuandejia 2010-05-25
  • 打赏
  • 举报
回复
建议楼主去看Calender类,自己去看文档吧,那个有实现指定日期部分进行的运算!
cfd406635982 2010-05-25
  • 打赏
  • 举报
回复
下把String转化成日期类型的,然后再加就是了!
可以用SimpleDateFormat
秦π 2010-05-25
  • 打赏
  • 举报
回复
Calendar calendar = Calendar.newInstance();
calendar.add(Calendar.DAY,1);
System.out.println(calendar.getTime());
要合适和你的一样就是DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
df.format(calendar.getTime());

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧