最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle中根据Date型转换成Java对应的long型毫秒数

来源:懂视网 责编:小采 时间:2020-11-09 08:18:30
文档

Oracle中根据Date型转换成Java对应的long型毫秒数

Oracle中根据Date型转换成Java对应的long型毫秒数:在Java开发中,很多时候我们为了方便会直接使用long型来保存时间,可以通过System.currentTimeMillis()或者是java.util.Date.getTime()来获取;取值为当前日期时间与1970-01-01相差的毫秒数; 但是在Oracle里面,默认没有直接提供获取当前时间的毫秒数
推荐度:
导读Oracle中根据Date型转换成Java对应的long型毫秒数:在Java开发中,很多时候我们为了方便会直接使用long型来保存时间,可以通过System.currentTimeMillis()或者是java.util.Date.getTime()来获取;取值为当前日期时间与1970-01-01相差的毫秒数; 但是在Oracle里面,默认没有直接提供获取当前时间的毫秒数

在Java开发中,很多时候我们为了方便会直接使用long型来保存时间,可以通过System.currentTimeMillis()或者是java.util.Date.getTime()来获取;取值为当前日期时间与1970-01-01相差的毫秒数; 但是在Oracle里面,默认没有直接提供获取当前时间的毫秒数的相关

在Java开发中,很多时候我们为了方便会直接使用long型来保存时间,可以通过System.currentTimeMillis()或者是java.util.Date.getTime()来获取;取值为当前日期时间与1970-01-01相差的毫秒数;

但是在Oracle里面,默认没有直接提供获取当前时间的毫秒数的相关function,所以要想在SQL里面获得毫秒数,只能自己手动计算下喽,如下:

  1. SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') current_date, (sysdate- to_date('1970-01-01','yyyy-mm-dd')) * 86400000 current_milli from dual;
  2. CURRENT_DATE CURRENT_MILLI
  3. ------------------- -------------
  4. 2009-01-06 14:00:09 1231250409000

不好意思,上次我写这篇文章时自己用的时候只是想在Oracle中计算毫秒数并保持在Oracle中,并没有拿到Java中再转换,所以没有详细测试,从而导致某些看我博客的朋友提出不匹配的问题; 现在我测试了一把,应该是时区导致的问题: 比如我使用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
------------------- -------------
2009-08-25 17:33:17 1251192797000

用简单的Java测试代码测试、结果显示完全匹配;Java代码如下:

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

Oracle中根据Date型转换成Java对应的long型毫秒数

Oracle中根据Date型转换成Java对应的long型毫秒数:在Java开发中,很多时候我们为了方便会直接使用long型来保存时间,可以通过System.currentTimeMillis()或者是java.util.Date.getTime()来获取;取值为当前日期时间与1970-01-01相差的毫秒数; 但是在Oracle里面,默认没有直接提供获取当前时间的毫秒数
推荐度:
标签: 转换 中的 如何
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top