public ArrayList<CalcPeriod> getCalcPeriods() {
DateTime now = DateTime.now();
DateTime.Property year = now.year(); DateTimeFormatter yyyyMMdd = DateTimeFormat.forPattern("yyyyMMdd");
DateTime season1 = DateTime.parse(year.get() + Constant.SEASON1,yyyyMMdd);
DateTime season2 = DateTime.parse(year.get() + Constant.SEASON2,yyyyMMdd);
DateTime season3 = DateTime.parse(year.get() + Constant.SEASON3,yyyyMMdd);
DateTime season4 = DateTime.parse(year.get() + Constant.SEASON4,yyyyMMdd);
//2.1 今年
ArrayList<CalcPeriod> currentYearList = new ArrayList<>();
if (now.isBefore(season1)){ }else if (now.isAfter(season1) && now.isBefore(season2)){
currentYearList.add(new CalcPeriod(year.get(),"1"));
}else if (now.isAfter(season2) && now.isBefore(season3)) {
currentYearList.add(new CalcPeriod(year.get(), "2"));
}else if (now.isAfter(season3) && now.isBefore(season4)) {
currentYearList.add(new CalcPeriod(year.get(), "3"));
}
//2.2 去年
ArrayList<CalcPeriod> beforeCurrentYearList = new ArrayList<>();
for (int i = 2012; i <= year.get() - 1; i++){
for (int j = 1; j <= 4; j++){
beforeCurrentYearList.add(new CalcPeriod(i, String.valueOf(j)));
}
}
ArrayList<CalcPeriod> totalList = new ArrayList<>();
totalList.addAll(currentYearList);
totalList.addAll(beforeCurrentYearList);
return totalList;
} public class CalcPeriod
{
private int year;
private String period; public CalcPeriod(int year, String period) {
this.year = year;
this.period = period;
} public CalcPeriod() {
} public int getYear()
{
return this.year;
} public void setYear(int year) {
this.year = year;
} } public static final String SEASON1 = "0331";
public static final String SEASON2 = "0630";
public static final String SEASON3 = "0930";
public static final String SEASON4 = "1231";

jodatime 时间比较的更多相关文章

  1. joda-time时间操作组件

    今天看到了学习到了一个不错的操作时间的jar包,很方便的,以后操作时间运算就可以直接使用jar包中的方法了,再也不用自己写操作时间的方法了.懒的不行不行的 <!-- 时间操作组件 --> ...

  2. JAVA8学习——新的时间日期API&Java8总结

    JAVA8-时间日期API java8之前用过的时间日期类. Date Calendar SimpleDateFormat 有很多致命的问题. 1.没有时区概念 2.计算麻烦,实现困难 3.类是可变的 ...

  3. 阿里云服务器+ftp文件操作+基于Centos7的vsftpd配置

    路径问题:一定要注意此位置是否需要加入"/" 文件上传方式:被动模式 vsftp完整配置: # # The default compiled in settings are fai ...

  4. java 工具类使用

    BigDecimalUtil 金额计算工具类 import java.math.BigDecimal; public class BigDecimalUtil { private BigDecimal ...

  5. 【JavaWeb项目】一个众筹网站的开发(一)架构搭建

    本项目是@尚硅谷相关视频的记录. 本项目使用Maven构建,工程架构如下图所示: 一.公司的公共父工程和工具类包 1.父工程 每个公司都有自己的父工程 父工程作用:对公司使用的jar包进行统一管理,别 ...

  6. java开源时间/日期库Joda-Time

    任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.使用 JDK 完成这项任务将非常痛苦和繁琐.现在来看看 Joda Time,一 ...

  7. 【转】Java时间日期包 JodaTime

    maven: http://mvnrepository.com/artifact/joda-time/joda-time 1, 获取每天的零点 DateTime dt=new DateTime().w ...

  8. java Joda-Time 对日期、时间操作

    任何企业应用程序都需要处理时间问题.应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径.使用 JDK 完成这项任务将非常痛苦和繁琐.现在来看看 Joda Time,一 ...

  9. java时间库Joda-Time

    虽然在java8里面有内置的最新的时间库,但是在java8之前的版本所有的时间操作都得自己写,未免有些繁琐,如果我们不自己封装的话可以用Joda-Time这个时间库,下面写下这个库的具体用法. git ...

随机推荐

  1. 深入浅出了解OCR识别票据原理(Applying OCR Technology for Receipt Recognition)

    原文:Applying OCR Technology for Receipt Recognition 译文:深入浅出了解OCR识别票据原理 英文票据识别技术, 非中文票据识别技术, 中文情况的ocr更 ...

  2. Linux中查看进程树

    pstree -p 查看当前的shell的进程和执行shell脚本的子进程的方法:echo $$

  3. install-scp

    centos6 minilize system will not scp command install: yum -y install openssh-clients and another mac ...

  4. 剑指Offer-数组中重复的数字

    package Array; /** * 数组中重复的数字 *在一个长度为n的数组里的所有数字都在0到n-1的范围内. * 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次 ...

  5. 页面内部DIV让点击外部DIV 事件不发生(阻止冒泡事件)

    如标题的情况,经常发生,尤其是在一些弹出框上面之类的. <script> function zuzhimaopao(){ e.stopPropagation(); } </scrip ...

  6. HTTP 0.9 HTTP 1.0 HTTP 1.1 HTTP 2.0区别

    HTTP协议 :Hyper Text Transfer Protocol(超文本传输协议),是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议.是互联网上应用 ...

  7. Vue之七导航守卫

    { path:'/',component:Recommend,beforeEnter: (to, from, next) => { console.log(to); ajax('get','/a ...

  8. 前端的UI设计与交互之文案篇

    在界面中,我们需要通过对话的方式与用户产生共鸣.精准.清晰的语言会更容易让用户理解,合适的语气更容易让用户建立信任感.因此在界面设计时,文案也应当被重视. 在使用和书写文案时有以下几点需要注意:从用户 ...

  9. Linux 绝对路径与相对路径

    根据文件名写法的不同,可将所谓的路径(path)定义为绝对路径(absolute)和相对路径(relative). 绝对路径:由根目录(/)开始写起的文件名或目录名称. 相对路径:相对于当前路径的文件 ...

  10. linux服务器添加一块新硬盘不用重新启动机器的操作

    Linux系统添加一块新硬盘不用关闭系统即可加载硬盘信息的操作 因之前换过硬盘重装系统,硬盘上的数据没有拷贝出来,开发人员问我要备份,炸了.我只好联系机房让他把之前换掉的硬盘插回服务器.但是插好之后f ...