文档章节

数据库中的时间的比较

素人派
 素人派
发布于 2015/07/22 07:55
字数 332
阅读 8
收藏 0
例如:查询 三天内的记录和一周内的记录以及一个月内的记录 1、如果数据库中存储的是date类型 第一种方法:将数据库中的时间转换为date类型和当前系统时间进行比较 //开始日期 Date date = new Date(); //结束日期 Date date2 = null; Calendar calendar = Calendar.getInstance(); calendar.setTime(date); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DAY_OF_MONTH); //最近三天 if(0 == publicDate){ calendar.set(year, month, day - 2); date2 = calendar.getTime(); //最近一周 }else if(1 == publicDate){ calendar.set(year, month, day - 6); date2 = calendar.getTime(); //最近一个月 }else if(2 == publicDate){ calendar.set(year, month - 1, day); date2 = calendar.getTime(); } queryWhere.append(" and job.send_time <=").append("to_date('").append(timeFormat.format(date)+"'").append(", 'yyyy-MM-dd')"); queryWhere.append(" and job.send_time >=").append("to_date('").append(timeFormat.format(date2)+"'").append(", 'yyyy-MM-dd')"); 第二种方法:将数据库中的时间转换为字符串类型和当前系统时间进行比较 //开始日期 Date date = new Date(); //结束日期 Date date2 = null; Calendar calendar = Calendar.getInstance(); calendar.setTime(date); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int day = calendar.get(Calendar.DAY_OF_MONTH); //最近三天 if(0 == publicDate){ calendar.set(year, month, day - 2); date2 = calendar.getTime(); //最近一周 }else if(1 == publicDate){ calendar.set(year, month, day - 6); date2 = calendar.getTime(); //最近一个月 }else if(2 == publicDate){ calendar.set(year, month - 1, day); date2 = calendar.getTime(); } queryWhere.append(" and to_char(job.send_time,'yyyy-MM-dd') <=").append("'"+timeFormat.format(date)+"'"); queryWhere.append(" and to_char(job.send_time,'yyyy-MM-dd') >=").append("'"+timeFormat.format(date2)+"'"); 2、如果数据库中存储的是TIMESTAMP类型 只能使用上面的第二种方法进行查询

本文转载自:http://surenpi.com/2015/01/15/%e6%95%b0%e6%8d%ae%e5%ba%93%e4%b8%ad%e7%9a%84%e6%97%b6%e9%97%b4%e7%...

素人派
粉丝 26
博文 1907
码字总数 10223
作品 6
东城
程序员
私信 提问
oracle 使用datetime字段比较相等: to_timestemp()使用,把时间转为带毫秒级的格式

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); 由于数据库是datetime(6)类型的,所以会有毫秒 所以要比较的话要在java代码里面先把时间转换为带有毫秒级格...

yejunwei
2018/02/27
72
0
Java中如何处理时间才好

Java开发中经常遇到时间,比如生日、生产日期之类的,我们到底该如何处理时间比较好呢?是将bean中的时间设置为Date类型,数据库中也设置为日期类型。 还是bean中设置为String,数据库中也设...

sisyphus
2013/06/16
1K
9
数据库重构工具--LiquiBase

Liquibase 是一个用于跟踪、管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在 XML 文件中,便于版本控制。 Liquibase 具备如下特性: 不依赖于...

匿名
2009/01/08
12.6K
2
navie时间和aware时间

navie时间和aware时间: 什么是navie时间?什么是aware时间? navie时间:不知道自己的时间表示的是哪个时区的。也就是不知道自己几斤几两。比较幼稚。 aware时间:知道自己的时间表示的是哪...

lvnian2009
2018/07/26
0
0
Timestamp : Unable to compare with value Timestamp

报这个错的原因是说,非时间的流字段与时间的数据库字段进行了比较,这样比较肯定是比较不了的,所以报错了,在比较以前加一个"字段选择(select values)",在里面把流中要做比较的字段的类型...

sucre
2016/07/20
336
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部