日期:2014-05-17  浏览次数:20548 次

数据库里时间和当前时间比较问题
数据库的时间c_time列为datetime型

String c_time=rs1.getString("c_time"); //数据库时间 得出2012-04-09 10:18:41 想转换整型(int)或长整型(long)
为201204091018

String now_time="20"+String.valueOf(date.getYear()).substring(1)+"-"+String.valueOf(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes(); //当前时间 转换整型(int)为201204091120

本来想转换为整型(int)长整型(long),但是不行

希望得到int time=now_time-c_time;
if(time<10){out.println("您注册到目前仍小于10分钟");}
else
{out.println("成功");}


------解决方案--------------------
得到的时间类型 和当前时间的类型都变为201204091120

这种啊 不要变成yyyy-mm-dd hh:mi:ss 这种型式
------解决方案--------------------
Java code

 SimpleDateFormat matter1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化时间格式
               Date nowTime=new Date();//获取当前时间
                String   tmf= matter1.format(nowTime);


                             Date now=matter1.parse(tmf);
                                Date end=matter1.parse(atime);//atime是数据库中事前存的时间
                               long cha=(now.getTime()-end.getTime())/ (1000 * 60 * 60 * 24);//计算时间差
                            
                             System.out.println("一号时间差事:"+cha);

------解决方案--------------------
可以将时间存的时候存成long型,算时间差就简单多了,这是存放时间值的方法
public static long getLongTime()
{
try
{
long l = 0L;
Calendar calendar = Calendar.getInstance();
String s = String.valueOf(calendar.get(1));
String s1 = String.valueOf(calendar.get(2) + 1);
String s2 = String.valueOf(calendar.get(5));
String s3 = String.valueOf(calendar.get(10));
String s4 = String.valueOf(calendar.get(9));
String s5 = String.valueOf(calendar.get(12));
String s6 = String.valueOf(calendar.get(13));
if(s4.equals("1"))
s3 = String.valueOf(Long.parseLong(s3) + 12L);
if(s1.length() < 2)
s1 = "0" + s1;
if(s2.length() < 2)
s2 = "0" + s2;
if(s3.length() < 2)
s3 = "0" + s3;
if(s5.length() < 2)
s5 = "0" + s5;
if(s6.length() < 2)
s6 = "0" + s6;
l = Long.parseLong(s + s1 + s2 + s3 + s5 + s6);
return l;
}
catch(Exception exception)
{
return 0L;
}
}
------解决方案--------------------
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse("2008-03-26 13:31:40");
java.util.Date date=df.parse("2008-01-02 11:30:24");
long l=now.getTime()-date.getTime();
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");