求两个日期相差的天数

aimiracle 2009-06-25 02:40:59
加精
第一个日期是的格式是2010-6-25,这是保存在数据库表里的一个字段,字符串型的
第二个日期是取得服务器的当前日期:Date date = new Date();
请问这样的两个日期,要怎么求出他们之间相差的天数?
...全文
4047 84 打赏 收藏 转发到动态 举报
写回复
用AI写文章
84 条回复
切换为时间正序
请发表友善的回复…
发表回复
也曾轻狂 2011-04-11
  • 打赏
  • 举报
回复
什么方法简单用神马,顶啊,那么长的代码,眼疼...
小沈阳 2011-04-09
  • 打赏
  • 举报
回复
SQL code

select to_date(日期字段,'yyyyMMdd')-to_date(to_char(SYSDATE,'yyyyMMdd'),'yyyyMMdd') AS TS
from table1;
这个语句可以实现,但是类得返回类型必须是STRING 型

xungeaccp 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 puhongchun 的回复:]
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
long day=0;
try {
java.util.Date date= myFormatter.parse("2003-05-01");
java.util.Date mydate= myFormatter.parse("2003-04-01");……
[/Quote]
正确答案
huating007 2010-12-13
  • 打赏
  • 举报
回复
学习了,很好很强大。。。用sql看上去代码好精炼的。。。。
ilikepugongying 2010-12-07
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 andy861025 的回复:]
[code=Java]

/**
* 获取现在时间
*
* @return 返回短时间字符串格式yyyy-MM-dd
*/
public static String getStringDateShort() {
Date currentTime = new Date();
SimpleDateFormat for……
[/Quote]
liyinle2 2010-10-14
  • 打赏
  • 举报
回复
[Quote=引用 74 楼 j2ee_hyb 的回复:]
datediff(d,date1,date2)这个系统函数只能求出的是date1和date2的天数位(dd)之差,若月份和年份不一样,求不出真正想要的结果的,建议还是还是转化成date或String型计算
liyinle2 2010-10-14
  • 打赏
  • 举报
回复
uuuuuuu[Quote=引用 73 楼 cs277241073 的回复:]
顶一楼
[/Quote][/Quote]vfgf[/Quote]
liyinle2 2010-10-14
  • 打赏
  • 举报
回复
[Quote=引用 72 楼 happy_of_smile 的回复:]
个人觉得还是要用Calendar类,毕竟时间还是要烤炉蛮多情况的 像什么闰年什么的??[Quote=引用 ff 楼 疯狂的积分卡 的回复:]
[/Quote][/Quote]ggfgfg[/Quote]
j2ee_hyb 2010-09-15
  • 打赏
  • 举报
回复
datediff(d,date1,date2)这个系统函数只能求出的是date1和date2的天数位(dd)之差,若月份和年份不一样,求不出真正想要的结果的,建议还是还是转化成date或String型计算
cs277241073 2010-06-13
  • 打赏
  • 举报
回复
顶一楼
Happy_of_smile 2010-06-10
  • 打赏
  • 举报
回复
个人觉得还是要用Calendar类,毕竟时间还是要烤炉蛮多情况的 像什么闰年什么的
kent4j 2010-06-03
  • 打赏
  • 举报
回复
Calendar这个类是摆在那看的吗?
andy0jiang 2009-11-20
  • 打赏
  • 举报
回复
学习 、
JAVAZHICHIZHE 2009-06-30
  • 打赏
  • 举报
回复
^_^ ^_^ 飘过
「已注销」 2009-06-30
  • 打赏
  • 举报
回复


import java.*;
import java.lang.*;
import java.util.*;
import java.text.*;

public class Test
{
public static void main(String[] args) throws Exception
{
System.out.println("20090421到20090530有 "+getDateDiff("20090421","20090530")+" 天");
}

private static long getDateDiff(String date1, String date2)
{// date2-date1 相差天数
SimpleDateFormat myFormatter = new SimpleDateFormat("yyyyMMdd");
long day = 0;
try {
java.util.Date d1 = myFormatter.parse(date1);
java.util.Date d2 = myFormatter.parse(date2);
day = (d2.getTime() - d1.getTime()) / (24 * 60 * 60 * 1000);
} catch (Exception e) {
return -1;
}
return day;
}
}


echoxue 2009-06-30
  • 打赏
  • 举报
回复
System.DateTime dt = System.DateTime.Now;
TimeSpan ts = System.DateTime.Now.Subtract(dt);
int days = ts.Days;
福清仔 2009-06-29
  • 打赏
  • 举报
回复
[Quote=引用 60 楼 lianganton 的回复:]
简单:



DateTime A = Convert.ToDateTime("時間字串");
DateTime B = DateTime.Now;
int tmpDays = (A - B).Days;
[/Quote]

java中有DataTime吗
zhoulehua 2009-06-29
  • 打赏
  • 举报
回复
有直接的方法
gshg1203 2009-06-29
  • 打赏
  • 举报
回复
学习
NJL_ILY_2009 2009-06-29
  • 打赏
  • 举报
回复
学习
加载更多回复(61)

81,092

社区成员

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

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