如何计算这种日期值?

yjmking 2003-11-11 10:37:53
有三个文本框(input),第一个是开始日期,第二个是周期(月份为单位),第三个是下次开始日期,输入开始日期和周期后,要能计算出下次开始日期。算法是:下次开始日期=开始日期+周期(月)-1(天)。请问高手们!怎么做!急!呀
...全文
48 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxl19790710 2003-11-11
  • 打赏
  • 举报
回复
function DateDemo(){
var d, s = "Today's date is: "; // 声明变量。
d = new Date(); // 创建 Date 对象。
s += (d.getMonth() + 1) + "/"; // 获取月份。
s += d.getDate() + "/"; // 获取日。
s += d.getYear(); // 获取年份。
return(s); // 返回日期。
}
stevene 2003-11-11
  • 打赏
  • 举报
回复
public Date getIssueDate(int a)
{
Date issueDate = null;
java.util.Calendar today = java.util.Calendar.getInstance();
int month = today.get(java.util.Calendar.MONTH)+1;
int year = today.get(java.util.Calendar.YEAR);
int day = today.get(java.util.Calendar.DAY_OF_MONTH);
String date = null;
switch(a)
{
case 1 :
day = day - 1;
date = year + "-" + month + "-" + day;
issueDate = Date.valueOf(date);
break;
case 2 :
day = day - 2;
date = year + "-" + month + "-" + day;
issueDate = Date.valueOf(date);
break;
case 3 :
day = day - 3;
date = year + "-" + month + "-" + day;
issueDate = Date.valueOf(date);
break;
case 4 :
day = day - 7;
date = year + "-" + month + "-" + day;
issueDate = Date.valueOf(date);
break;
case 5 :
day = day - 14;
date = year + "-" + month + "-" + day;
issueDate = Date.valueOf(date);
break;
case 6 :
month = month - 1;
date = year + "-" + month + "-" + day;
issueDate = Date.valueOf(date);
break;
case 7 :
month = month - 2;
date = year + "-" + month + "-" + day;
issueDate = Date.valueOf(date);
break;
}
//System.out.println(issueDate);
return issueDate;
}

看一下,希望对你有帮助
noratong 2003-11-11
  • 打赏
  • 举报
回复
把字符串转化为Date类的一个对象会吗????

会这后,就应该很好作了.
cen8535 2003-11-11
  • 打赏
  • 举报
回复
你看这个方法是不是对你有帮助:
public String getCalDate(String date,int type,int val)
{
String str="";
try
{
date=date.replaceAll("-","/");
java.util.Date d=new java.util.Date(date);
Calendar cal = Calendar.getInstance();
cal.clear();

cal.set((d.getYear()+1900),(d.getMonth()),d.getDate(),d.getHours(),d.getMinutes(),d.getSeconds());
switch (type)
{
case 1://日
cal.add(cal.DATE,val);
break;
case 2://周
cal.add(cal.DATE,7*val);
break;
case 3://月
cal.add(cal.MONDAY,val);
break;
case 4://年
cal.add(cal.YEAR,val);
break;
}

d = cal.getTime();
str=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d);
str=this.getDate(str);
}
catch(Exception e)
{
System.out.println(e.getMessage());
}

return str;
}
lsy110 2003-11-11
  • 打赏
  • 举报
回复
哎!
sunny110 2003-11-11
  • 打赏
  • 举报
回复
up
凋零的老树 2003-11-11
  • 打赏
  • 举报
回复
其实就是日期相加减的问题
grgh2000 2003-11-11
  • 打赏
  • 举报
回复
/*
*DateUtil.java
*/
import java.text.DateFormat;
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;

public class DateUtil
{
public static String getPeriodDate(String startTime,String period)
{
//String startTime="2003-11-11";
//String period="5";

DateFormat df = DateFormat.getDateInstance();
Calendar dt = Calendar.getInstance();
try {
dt.setTime(df.parse(startTime));
dt.set(Calendar.MONTH,dt.get(Calendar.MONTH)+Integer.parseInt(period)); //设置月份
dt.set(Calendar.DATE,dt.get(Calendar.DATE)-1); //设置日期

return new SimpleDateFormat("yyyy-MM-dd").format(dt.getTime());
}catch(Exception ex)
{
System.out.println("无效的参数");
}
return startTime; //如果错误则返回原值。
}

public static void main(String[] arg)
{
System.out.println(DateUtil.getPeriodDate("2003-11-11","5"));
}
}

--------------------------------
F:\>java DateUtil
2004-04-10
--------------------------------
可以直接扩充方法作为你的工具类吧?
sandyen 2003-11-11
  • 打赏
  • 举报
回复
去看看java的帮助文档SimpleDateFormat
kewin 2003-11-11
  • 打赏
  • 举报
回复
转化为 Date 的对象,再用 Date 的API
那很简单呀

81,092

社区成员

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

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