如何比较两个日期的大小??

herolove 2005-10-12 03:43:53
我从数据库中取出一个日期如2005-10-10,
我想和当前时间做比较,但是获取的当前时间出来是string类型,没办法和数据库的日期做比较,
应该怎么做??多谢谢
我想做的是:if(当前时间>数据库的时间){//关键if这里怎么写
 ............      
...全文
523 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
marine_chen 2005-10-12
  • 打赏
  • 举报
回复
好像我说的有点乱 整理一下吧
你说的那个判断时间的 其实可以在SQL语句中实现的:
String sql = " select sendtime from test where sendtime >= to_date('" + begintime + "','yyyy-mm-dd') and sendtime <= to_date('" + endtime + "','yyyy-mm-dd')";
这个就可以达到你说的那些,至于格式,在页面的方法中,可以把日期格式化:
<%!
//格式化时间
public static String formatdate(Date date) {
SimpleDateFormat bartDateFormat = new SimpleDateFormat(
"yyyy/MM/dd ");
return bartDateFormat.format(date);
}
%>
和今天的日期比较,先声明今天的日期:
获得今日的日期
Date nowdate = new Date();
Calendar cale = Calendar.getInstance();
cale.setTime(nowdate);

String nowdate_str = String.valueOf(cale.get(Calendar.YEAR)) + "-"
+ String.valueOf(cale.get(Calendar.MONTH)+1) + "-"
+ String.valueOf(cale.get(Calendar.DATE));
其中要导入:
<%@page import="java.util.*"%>
<%@page import="java.util.Date"%>
<%@page import="java.util.Calendar"%>
<%@page import="java.text.SimpleDateFormat"%>

之后的显示如下:
<%=rs.getString(4)==null?"":(formatdate(rs.getDate("sendtime")) + rs.getTime("sendtime"))%>
把时间字段用formatdate格式化显示 就可以啦
ww_cain 2005-10-12
  • 打赏
  • 举报
回复
关注
marine_chen 2005-10-12
  • 打赏
  • 举报
回复
<%=rs.getString(4)==null?"":(formatdate(rs.getDate("sendtime")) + rs.getTime("sendtime"))%>

把显示的时间格式化显示 就是你需要的了
marine_chen 2005-10-12
  • 打赏
  • 举报
回复
<%@page import="java.util.*"%>
<%@page import="java.util.Date"%>
<%@page import="java.util.Calendar"%>
<%@page import="java.text.SimpleDateFormat"%>
获得今日的日期
Date nowdate = new Date();
Calendar cale = Calendar.getInstance();
cale.setTime(nowdate);

String nowdate_str = String.valueOf(cale.get(Calendar.YEAR)) + "-"
+ String.valueOf(cale.get(Calendar.MONTH)+1) + "-"
+ String.valueOf(cale.get(Calendar.DATE));
marine_chen 2005-10-12
  • 打赏
  • 举报
回复
数据库类型的时间不一样 可以把日期格式化
JSP中声明格式化时间方法:
<%!
//当前时间
public static String formatdate(Date date) {
SimpleDateFormat bartDateFormat = new SimpleDateFormat(
"yyyy/MM/dd ");
return bartDateFormat.format(date);
}
%>
herolove 2005-10-12
  • 打赏
  • 举报
回复
取当前时间出来是string类型,怎么转成日期类型,之后才可以和数据库取出来的日期做比较??
marine_chen 2005-10-12
  • 打赏
  • 举报
回复
String sql = " select sendtime from test where sendtime >= to_date('" + begintime + "','yyyy-mm-dd') and sendtime <= to_date('" + endtime + "','yyyy-mm-dd')"
marine_chen 2005-10-12
  • 打赏
  • 举报
回复
可以直接在SQL语句中实现
hbhbhbhbhb1021 2005-10-12
  • 打赏
  • 举报
回复
access和sql server可以用datediff()函数
oracle用to_date()转成date型之后直接比较
herolove 2005-10-12
  • 打赏
  • 举报
回复
分不够可以再加,分不够可以再加,
herolove 2005-10-12
  • 打赏
  • 举报
回复
分不够可以再加,
herolove 2005-10-12
  • 打赏
  • 举报
回复
高手帮帮忙了
samkuang 2005-10-12
  • 打赏
  • 举报
回复
up

81,092

社区成员

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

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