String strDate1 = "2002-01-21";
String strDate2 = "2002-02-5";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = format.parse(strDate1);
Date d2 = format.parse(strDate2);
System.out.println((d2.getTime() - d1.getTime()) / 3600000 / 24);
String strDate2 = "2002-02-5";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = format.parse(strDate1);
Date d2 = format.parse(strDate2);
System.out.println((d2.getTime() - d1.getTime()) / 3600000 / 24);
解决方案 »
- 关于*.hbm.xmle文件中的type问题
- 关于structs中的汉字如何处理????????急啊??在线等待
- STRUTS2.09+HIBERNATE3.2+SPRING2.05 只能访问ACTION不能访问其它文件
- 求助:关于HTTP Status 500的问题
- 谁知道 新浪 的新闻页面是怎么做的!????? www.sina.com.cn
- 调查下大家用什么工具开发JSP呢?
- mssql 备份&恢复?
- spring3+hibernate2可以整合吗
- JBuilder里如何配置JSP服务器?
- 我想做一个对大型数据库操作的查询程序(B/S结构),大家有什么好的建议么?
- jsp下如何用ip和端口连接远程sql server 7.0数据库
- tomcat如何配置添加目录?Tomcat Administration的用户/密码是什么?
String strDate2 = "2002-01-25";
try
{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = format.parse(strDate1);
Date d2 = format.parse(strDate2);
Date temp=d1;
for (int i=0;i<(d2.getTime() - d1.getTime()) / 3600000 / 24;i++)
{
temp=new Date(d1.getTime()+i * 3600000 * 24);
System.out.println(temp);
}
System.out.println((d2.getTime() - d1.getTime()) / 3600000 / 24);
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
for(i=0;i<d;i++)
{
d1.getTime()+
java.util.Date d1 = format.parse(st);
java.util.Date d2 = format.parse(ot);
java.util.Date temp=d1;
for (int i=0;i<=(d2.getTime() - d1.getTime()) / 3600000 / 24;i++)
{
temp=new java.util.Date(d1.getTime()+i * 3600000 * 24);
out.print(temp);
}
我是这样写的,可是出来temp的值是 Mon Feb 03 00:00:00 GMT+08:00 2003
我想要的是像2002-2-3因为要用这个做为查询条件。
java.util.Date myTime;//定义一个myTime物件
myTime = new java.util.Date();//将其初始化
long firstdate1 = myTime.UTC(year,month,day,0,0,0);//求出截止日期的相对基准时间的秒数
String strDate1 = "2002-01-21";
String strDate2 = "2002-01-25";
try
{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = format.parse(strDate1);
Date d2 = format.parse(strDate2);
Date temp=d1;
for (int i=0;i<(d2.getTime() - d1.getTime()) / 3600000 / 24;i++)
{
temp=new Date(d1.getTime()+i * 3600000 * 24);
System.out.println(format.format(temp));
}
System.out.println((d2.getTime() - d1.getTime()) / 3600000 / 24);
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
2002-12-21
2002-12-22
2002-12-23
String strDate1 = "2002-11-15";
String strDate2 = "2003-02-11";
long lng1;
try
{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = format.parse(strDate1);
Date d2 = format.parse(strDate2);
Date temp=d1;
int int1=(int)((d2.getTime() - d1.getTime()) / 3600000 / 24);
for (int i=0;i<int1;i=i+1)
{
lng1=d1.getTime()+i * 3600000 * 24;
temp=new Date(temp.getTime()+3600000 * 24);
//System.out.println(d1.getTime());
//System.out.println(i);
//System.out.println(lng1);
//System.out.println(d2.getTime());
System.out.println(format.format(temp));
}
System.out.println((d2.getTime() - d1.getTime()) / 3600000 / 24);
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
不过前面的错误还没有查找到原因。
new Date(d2.getTime());正常
System.out.println(d2.getTime()); 结果为1044892800000
而 new Date(1044892800000)就错了,真是奇怪,那位能告诉是什么原因吗?
估计是long超出范围
但是为什么new Date(d2.getTime());正常呢?
java.util.Date temp=new java.util.Date(d1.getTime()-3600000 * 24);
long int1=(long)((d2.getTime() - d1.getTime()) / 3600000 / 24);
for (int i=0;i<=int1;i++){
temp=new java.util.Date(temp.getTime()+3600000 * 24);
我就是不明白为什么要乘以3600000呢?