在Java开发中,很多时候我们为了方便会直接使用long型来保存时间,可以通过System.currentTimeMillis()或者是java.util.Date.getTime()来获取;取值为当前日期时间与1970-01-01相差的毫秒数;
但是在Oracle里面,默认没有直接提供获取当前时间的秒数的相关function,所以要想在SQL里面获得毫秒数,只能自己手动计算下喽,如下:
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') current_date, (sysdate- to_date('1970-01-01','yyyy-mm-dd')) * 86400 current_milli from dual;
CURRENT_DATE CURRENT_MILLI
------------------- -------------
2011-03-28 18:42:11 1301337731
时区导致的问题: 比如我使用GMT+08 北京时间,所以按照上面的方式从Oracle中计算出来的秒数经Java中转换后的日期会比正常日期大8h;
结合自己系统的时区对SQL语句稍作修改即可:
SQL> select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') current_date,
2 (sysdate - 8 / 24 - to_date('1970-01-01', 'yyyy-mm-dd')) * 86400000 current_milli
3 from dual;
CURRENT_DATE CURRENT_MILLI
------------------- -------------
2011-03-28 18:42:11 1301308931
用简单的Java测试代码测试、结果显示完全匹配;Java代码如下:
Date date = new Date(1301337731L);
System.out.println(date); //2009-08-25 17:33:17
//得到当前日期的秒数
Date d=new Date();
System.out.println(d.getTime()/1000); //d.getTime()得到的是毫秒数 1301309324
//知道毫秒数得到当前日期
Date d1=new Date(1301308931*1000l); //此值为毫秒数
System.out.println(sdf.format(d1)); //2011-03-28 18:42:11
分享到:
相关推荐
oracle中date类型的操作,增删改查oracle中date类型的操作,增删改查
Oracle 中Number 分为两种 1.Number 2.Number(10,2) 第一种对应的是java中...oracle中的的date 对应java中的 java.util.date java.sql.date 是都可以的 但通常应用java.util.date 因为它的作用范畴大于java。sql。date
oracle中TIMESTAMP与DATE比较
使用oracle ,计算系统当前时间的毫秒数
Oracle中to_date格式 Data与String互转及各种用法
oracle数字转换中文,用我们更好地开发财务模块
Oracle中的时间是Date型,以下函数提供了两种时间转换的Oracle函数 --unix时间戳与date时间互转 SELECT oracle_to_unix(SYSDATE),unix_to_oracle(1551774286),oracle_to_unix(SYSDATE) FROM dual;
oracle中一些date的详细介绍函数,很有用的
java操作oracle clob,基础教程,教你clob在java中的用法,简单易学。
Oracle Sql语句转换成Mysql Sql语句java 源码,非常简单,只要给定源oracle sql语句地址,和生成目标文件地址运行即可。
hibernate中使用自定义类型映射Oracle LONG类型
Oracle 中的 TO_DATE 和 TO_CHAR 函数 oracle 中 TO_DATE 函数的时间格式,以 2008-09-10 234556 为例
java中xml文件的处理及oracle中xmltype的插入和读取.pdf
Oracle to_dOracle to_date() 用法细节.txtate() 用法细节.txOracle to_date() 用法细节.txtt
使用java实现oracle存储过程。 共有3个小例子。实现的功能 1、无返回值的存储过程 如 insert 2、有返回值的存储过程(非列表)select id from tab 3、返回列表 如:select * from tab 顺便鄙视下csdn,作为一个it...
ORACLE JAVA MYSQL类型转化对照
运用Java如何存取Oracle中的CLOB类型字段
String与date的转换,在JAVA中得以实现。
oracle完整引入jar包和编译java类,实现数据库级别的函数的调用
大家都知道,从oracle数据库中导出数据时,如果其中有字段类型为date,那么导出时将会变成to_date('29-...本程序实现了将oracle数据导出文件中的to_date('x','y')转换成'x'的功能,并去掉了一些非SQL语句,如prompt...