当前位置:首页 » 编程语言 » javasql时间比较
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

javasql时间比较

发布时间: 2023-03-28 02:42:50

Ⅰ java.util.Date和java.sql.Date的区别及应用

1) java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许 JDBC 将毫秒值标识为 SQL DATE 值。毫秒值表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数。 为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将时间、分钟、秒和毫秒设置为与该实例相关的特定时区中的零来“规范化”。 说白了,java.sql.Date就是与数据库档蠢闹Date相对应的一个类型,而java.util.Date是纯java的Date。
2)JAVA里提供的日期和时间类,java.sql.Date和java.sql.Time,只会从数据库里读取某部分值,这有时会导致丢失数据。例如一个包含2002/05/22 5:00:57 PM的字段,读取日期时得到的是2002/05/22,而读取时间时得到的是5:00:57 PM. 你需要了解数据库里存储时间的精度。有些数据库,比如MySQL,精度档嫌为毫秒,然而另一些数据库,包括Oracle,存储SQL DATE类型数据时,毫秒部分的数据是不保存的。以下操作中容易出现不易被发现的BUG:获得一个JAVA里的日期对象。 从数据库里读取日期 试图比较两个日期对象是否相等。如果毫秒部分丢失,本来认为相等的两个日期对象用Equals方法可能返回false。.sql.Timestamp类比java.util.Date类精确度要高。这个类包了一个getTime()方法,但是它不会返回额外精度部分的数据,因此必须使用...
总之,java.util.Date 就是Java的日行罩期对象,而java.sql.Date 是针对SQL语句使用的,只包含日期而没有时间部分。

Ⅱ 怎么判断java.sql.Date类型的日期与 sql 2005 的datetime类型的数据相等

Select CONVERT(varchar(100), GETDATE(), 23)
把GETDATE()换成你要对比的数据库字段试试;
如果不行你尝试着把datetime转成字符,然后截取字符串做对比。
如果还不行,你网络下。。

Ⅲ java.util.Date和java.sql.Date的区别和相互转化

java.util.Date是在除了SQL语句的情况下面使用的。
java.sql.Date是针对SQL语句使用的,它只包汪悉含日期而没有时间部分

们都有getTime方法返贺雹回毫秒数,自然就可以直接构建。 java.util.Date 是 java.sql.Date
的父类,前者是常用的表示时间的类,我们通常格式化或者得到当前时间都是用他,后者之后在读写数据库的时候用他,因为PreparedStament的
setDate()的第2参数和ResultSet的getDate()方法的第2个参数都是java.sql.Date。
java.sql.Date转为java.util.Date
java.sql.Date date=new java.sql.Date();
java.util.Date d=new java.util.Date (date.getTime());

java.util.Date转为java.sql.Date
java.util.Date utilDate=new Date();
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
java.util.Date utilDate=new Date();
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
java.sql.Time sTime=new java.sql.Time(utilDate.getTime());
java.sql.Timestamp stp=new java.sql.Timestamp(utilDate.getTime());

这里所有时间日期都可以被SimpleDateFormat格式化format()
SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
f.format(stp);
f.format(sTime);
f.format(sqlDate);
f.format(utilDate)
java.sql.Date sqlDate=java.sql.Date.valueOf("困拍乎 2005-12-12");
utilDate=new java.util.Date(sqlDate.getTime());

另类取得年月日的方法:
import java.text.SimpleDateFormat;
import java.util.*;
java.util.Date date = new java.util.Date();
//如果希望得到YYYYMMDD的格式SimpleDateFormat
sy1=new SimpleDateFormat("yyyyMMDD");
String dateFormat=sy1.format(date);
//如果希望分开得到年,月,日SimpleDateFormat
sy=new SimpleDateFormat("yyyy");
SimpleDateFormat sm=new SimpleDateFormat("MM");
SimpleDateFormat sd=new SimpleDateFormat("dd");
String syear=sy.format(date);
String smon=sm.format(date);
String sday=sd.format(date)

Ⅳ java script 提取sql中两个时间,并计算他们之间的时间差

将时间转成data类型,a.getdate();会得到1900年到你取出时间的毫秒数,两个都如此取,相减得到这两个时间的毫秒差,然后如果你要计算到秒请除以1000,分钟再除60,小时再除60,天再除24。。。。。。

Ⅳ 通过java如何计算sql数据库中两个时间差

Date dt1;//结束时间
Date dt2;//开始时间
System.out.println("dt1="+dt1);
System.out.println("dt2="+dt2);
long l = dt1.getTime() - dt2.getTime(); //获得两个时间的毫秒数
System.out.println(l/(24*3600000)+"天"+l/3600000+"小时"+(l%3600000)/60000+"分钟"+((l%3600000)%60000)/1000+"秒"); //处理毫秒数得到时间小时分钟秒

Ⅵ java.sql.Date,java.sql.Time和java.sql.Timestamp什么区别

【父类】java.util.Date日期格式为:年月日时分秒
【子类】java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据]
【子类】java.sql.Time日期格式为:时分秒
【子类】java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)

针对不同的数据库选用不同的日期类型
·Oracle的Date类型,只需要年月日,选择使用java.sql.Date类型
·MS Sqlserver数据库的DateTime类型,需要年月日时分秒,选择java.sql.Timestamp类型

------------------------------------------

四种对象内部均使用系统时间作为标准数据

·系统时间:自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数,即格林尼治标准时间GMT) ·本地时间:根据时区不同打印出来的时间[当时区为GMT+0时,系统时间与本地时间相同]我们使用的是以本地时间为参考标准的

//java.util.Date 转换成 java.sql.Date 格式
try{
SimpleDateFormat DateFormate = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
java.util.Date date1 = DateFormate.parse("2011-5-31 14:40:50");
java.sql.Date sqlDate = new java.sql.Date(date1.getTime());
System.out.println(DateFormate.format(sqlDate));
}catch (Exception ex) {
System.out.println(ex.getMessage());
}

//java.sql.Date 转换成 java.util.Date 格式
java.sql.Date sqlDate1=java.sql.Date.valueOf("2005-12-12");
java.util.Date utilDate1=new java.util.Date(sqlDate1.getTime());
System.out.println("java.sql.Date 转换成 java.util.Date 格式:"+f.format(utilDate1));

//java.util.Date转换java.sql.Timestamp
new java.sql.Timestamp(new java.util.Date().getTime());//此处IDE报错

//java.util.Date转换java.sql.Time
new java.sql.Time(new java.util.Date().getTime());

Timestamp timestamp = new Timestamp(System.currentTimeMillis());

我们可以使用DateFormat处理字符串来定义时间日期的格式
注:String都是先转换为java.util.Date,然后再转换成所需的格式

Ⅶ java sql access怎么比较日期大小

其实只要改变一下思路就可以了!
1、首先建立一个临时神陆表,结构和目标表一致;假定:原表位sr_tab
create table st_tab as select * from sr_tab where 1==0;
2、将access的数据一次游橡顷性导入到表st_tab
3、执行批量插入语句:
insert sr_tab values(select s* from st_tab where ID not in (select ID from sr_tab ));
这样的效率比你一如祥条一条判断至少要快3倍以上。

Ⅷ JAVA 程序中比较时间 从数据库获取的时间(一个字段) = 系统时间 如何用JPQL 实现

Select ***** from *** where 从数物型据库获取的时间(一个字段) = getdate()

db2好像是current date
Select ***** from *** where 从数罩缓猜据库获哪缓取的时间(一个字段) = current date