Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将四季度与日期相比较

如何将四季度与日期相比较
EN

Stack Overflow用户
提问于 2013-03-15 04:19:47
回答 2查看 1.1K关注 0票数 1

我正在使用hibernate开发java swing应用程序。我想在jasperreport上显示一年中每季度的结果(我有数据库日期,因此我将提取与数据库中的这些日期相对应的年份),我找到了一些解决方案,但我认为这并不是一个很好的解决方案,这是一种简单的方法:

代码语言:javascript
运行
AI代码解释
复制
select * from dbcheques.Cheque
where YEAR(dateEncaissement) = '2013'
and (MONTH(dateEncaissement) = 7
or MONTH(dateEncaissement) = 8 or MONTH(dateEncaissement) >= 9) 

这将返回该年的第三季度,几乎相同的查询只对其他季度的数字进行更改:

第一季度

代码语言:javascript
运行
AI代码解释
复制
and (MONTH(dateEncaissement) = 1 or MONTH(dateEncaissement) = 2
or MONTH(dateEncaissement) >= 3) 

第二季度

代码语言:javascript
运行
AI代码解释
复制
and (MONTH(dateEncaissement) = 4 or MONTH(dateEncaissement) = 5
or MONTH(dateEncaissement) >= 6)  

最后一个季度的

代码语言:javascript
运行
AI代码解释
复制
and (MONTH(dateEncaissement) = 10 or MONTH(dateEncaissement) = 11
or MONTH(dateEncaissement) = 12)  

这是一个接口:

!(http://hpics.li/7ca6010)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-15 04:30:54

如果您的问题是“如何获得给定季度(1、2、3或4)的值”,则只需使用

代码语言:javascript
运行
AI代码解释
复制
where ((MONTH(dateEncaissement) - 1) DIV 3) + 1 = <quarter>

如果您想从表中选择行,包括每行的四分之一,那么在select子句中使用相同的技巧:

代码语言:javascript
运行
AI代码解释
复制
select *, (((MONTH(dateEncaissement) - 1) DIV 3) + 1) as quarter from ...
票数 1
EN

Stack Overflow用户

发布于 2016-09-06 21:54:15

tl;dr

查询当前季度:

代码语言:javascript
运行
AI代码解释
复制
String sql = 
 "SELECTFROMWHERE 
    dateCol_ >= ? 
    AND
    dateCol_ < ?
  ;"

YearQuarter yq = YearQuarter.now( ZoneId.of( "America/Montreal" ) );
myPreparedStatement.setObject( 1 , yq.atDay( 1 );
myPreparedStatement.setObject( 2 , yq.plusQuarters(1).atDay( 1 );

java.time

JB Nizet的答复是正确的。

另一个选项是使用java.time类及其扩展三次-额外项目来确定Java中的日期。该项目添加了类QuarterYearQuarter

YearQuarter

确定一个季度意味着确定一个日期。确定日期意味着指定时区。在任何特定的时刻,全球各地的日期因地区而异。

代码语言:javascript
运行
AI代码解释
复制
ZoneId z = ZoneId.of( "America/Montreal" );
YearQuarter yq = YearQuarter.now( z );

你可以做数学,加和减。

代码语言:javascript
运行
AI代码解释
复制
YearQuarter yqNext = yq.plusQuarters( 1 );

LocalDate

您可以询问该季度的第一次和最后一次日期,以获得LocalDate对象。LocalDate类表示一个日期纯值,没有一天的时间,也没有时区.

代码语言:javascript
运行
AI代码解释
复制
LocalDate firstDay = yq.atDay( 1 );
LocalDate lastDay = yq.atEndOfQuarter();

通常更好的在日期工作,使用半开放的方法来定义一个时间跨度的开始,包括和结束是排他性的。此方法在此答案顶部的查询中使用。

代码语言:javascript
运行
AI代码解释
复制
LocalDate startOfNextQuarter = yq.plusQuarters( 1 ).atDay( 1 );

数据库

如果您的JDBC驱动程序符合JDBC4.2及更高版本,则可以通过LocalDate对象的setObject方法传递该setObject对象。

如果不是,请回到使用java.sql.Date类。添加到旧类中的新方法便于转换。

代码语言:javascript
运行
AI代码解释
复制
java.sql.Date d = java.sql.Date.valueOf( firstDay );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15432309

复制
相关文章
[mobile开发碎碎念]手机页面上显示PDF文件
demo:http://mozilla.github.io/pdf.js/web/viewer.html
用户1172164
2018/07/31
8870
[mobile开发碎碎念]手机页面上显示PDF文件
demo:http://mozilla.github.io/pdf.js/web/viewer.html 项目地址:https://github.com/mozilla/pdf.js <script type="text/javascript"> // // NOTE: // Modifying the URL below to another server will likely *NOT* work. Because of browser // security rest
用户1172164
2018/01/16
1.3K0
如何使用penguinTrace在硬件层面上显示代码运行状况
penguinTrace旨在帮助广大安全研究人员更好地理解程序代码是如何在硬件级别运行的,该工具提供了一种方法,可以查看代码会编译成什么指令,然后单步执行这些指令,查看它们如何影响机器状态,以及如何映射回原始程序中的变量。
FB客服
2022/11/14
9390
如何使用penguinTrace在硬件层面上显示代码运行状况
在文章页中显示摘要的方法 可用做文章页描述
刚刚在论坛里有人“问怎么样把添加文章时的所填的“文章摘要”的内容变为该文章的描述(即description) ”,以下是解决方法:
用户8099761
2023/05/10
8880
【坚果派】HarmonyOS 以及OpenHarmony中如何选择图片,并显示在桌面上
【坚果派】HarmonyOS 以及OpenHarmony中如何选择图片,并显示在桌面上
徐建国
2023/08/10
4240
【坚果派】HarmonyOS 以及OpenHarmony中如何选择图片,并显示在桌面上
SAP MM MIGO界面上的Freight标签页
这是笔者玩SAP系统十多年来第一次知道的,就在今天,就在刚刚。自然引起了笔者强烈的好奇心。经过上网查资料,得到了一些有用的信息,整理成本文,算是做一个学习笔记吧!
SAP虾客
2022/01/25
7800
SAP MM MIGO界面上的Freight标签页
如何使特定的数据高亮显示?
当表格里数据比较多时,很多时候我们为了便于观察数据,会特意把符合某些特征的数据行高亮显示出来。这不,公司的HR小姐姐就有这个需求,说她手头上有一份招聘数据,她想把“薪水”超过20000的行突出显示出来,应该怎么操作呢?
猴子聊数据分析
2020/02/26
5.7K0
weex eros APP 如何在vue页面显示图片,循环添加多张图片显示在vue页面上
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/acoolgiser/article/details/89016852
acoolgiser
2019/04/17
2K0
让 Firefox 只在新标签页 newtab 显示书签栏
Firefox Developer Edition(开发者版)默认支持在新标签页打开书签栏。
eallion
2022/12/20
1.2K0
让 Firefox 只在新标签页 newtab 显示书签栏
仅允许特定用户组通过NetScaler访问虚拟桌面
通常情况下我们的AD环境是为企业内多个业务系统提供服务,在交付Citrix VirtualDesktop环境后,我们通常会通过Citrix ADC(原名叫NetScaler)设备作为安全代理网关进行虚拟桌面访问,默认情况下Citrix ADC与AD集成后,所有用户都允许登录,只不过未经授权的用户无法看到任何资源。
SuperDream
2020/06/03
1.2K0
jquery easyui菜单树显示
目前做了一个easyui项目需要显示多级菜单,菜单配置到数据库中,因此每级菜单都需要到数据库中取,用了jQuery EasyUI方便多了。
全栈程序员站长
2022/07/15
3.4K0
在jquery中用下拉框列表显示默认的值
1、在postUpdate.jsp中添加js如下: <script type="text/javascript"> $(document).ready(function(){ var qx_value = $('#qx_select_value').val(); $("#qx_select option[value='"+qx_value+"']").attr("selected", "selected"); }) </script> 核心代码就这一句话: $("
qubianzhong
2018/08/10
3.6K0
jQuery Verbose Calendar:显示整年的 jQuery 日历插件
jQuery Verbose Calendar 是一个可以把整年的日历显示在一个页面上的 jQuery 插件,加载之后,它会自动滚到今天的日期处,当你鼠标移动到日期上,可以显示今天星期几。并且这个日历插件支持 Callback 函数,当你点击某个日期的时候,你可以执行一些自定义行为,或者插入任意的 HTML 元素。
Denis
2023/04/15
2K0
在GridView内访问特定控件
本文我将为你演示如何访问GridView中的特定控件。我们会看到怎样去访问TextBox控件,DropDownList控件以及ListBox控件。
Java架构师必看
2021/03/22
2.6K0
jquery等待特定元素加载再执行相关函数
默认是执行100次,每次间隔20毫秒,最长等待时间是2000毫秒(2秒),如果要一直等待到元素出现,可以将100改成任意负数。
怪兽
2022/10/04
1.4K0
SpringMVC+jquery.pagination分页显示
最近在做ES全文搜索,需要做个类似于百度搜索下面分页的组件。 找了很多,最后发现jquery.pagination实现分页很方便。
程裕强
2022/05/06
1.5K0
SpringMVC+jquery.pagination分页显示
【jQuery动画】显示与隐藏效果
在网页开发中,适当地使用动画可以使页面更加美观,进而增强用户体验。jQuery中内置了一系列方法用于实现动画,当这些方法不能满足实际要求时,用户也可以自定义动画。本期我们一起来了解一下显示与隐藏效果吧~
颜颜yan_
2022/12/01
6.8K0
【jQuery动画】显示与隐藏效果
点击加载更多

相似问题

如何在MathJax配置文件中使用DeclareMathOperator?

13

导出包含MathJax结果的HTML

22

HTML导出中的左对齐组织模式MathJax

10

Helper不承认"@Html.InlineImage“

23

为什么PalantirQS3.8不承认自己的XML导出?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文