Date get period
/**
* get period for last year
* @param time
* @return
*/
public static DatePeriodDTO getLastYear(long time) {
Calendar calendar = Calendar.getInstance();
//get last year
calendar.add(Calendar.YEAR, -1);
int lastYear = calendar.get(Calendar.YEAR);
calendar.clear();
//set to last year
calendar.set(Calendar.YEAR, lastYear);
//get first day of last year
Date yearFrom = calendar.getTime();
//get last day of last year
calendar.roll(Calendar.DAY_OF_YEAR, -1);
Date yearTo = calendar.getTime();
return new DatePeriodDTO(yearFrom, yearTo);
}
/**
* get period for last month
* @param time
* @return
*/
public static DatePeriodDTO getLastMonth(long time) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
//last day of last month
calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
Date strDateTo = calendar.getTime();
//first day of last month
calendar.set(Calendar.DAY_OF_MONTH,calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
Date strDatefrom = calendar.getTime();
return new DatePeriodDTO(strDatefrom, strDateTo);
}
/**
* get period for last week
* @param time
* @return
*/
public static DatePeriodDTO getLastWeek(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
//last Sunday
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
calendar.add(Calendar.WEEK_OF_MONTH, -1);
Date endDate = calendar.getTime();
//last Monday
calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 6);
Date startDate = calendar.getTime();
return new DatePeriodDTO(startDate, endDate);
}
/**
* is last year
* @param time
* @return
*/
public static boolean isLastYear(long time) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR, -1);
int lastYear = calendar.get(Calendar.YEAR);
calendar.setTime(new Date(time));
int paramYear = calendar.get(Calendar.YEAR);
if (paramYear == lastYear) {
return true;
}
return false;
}
/**
* is last month
* @param time
* @return
*/
public static boolean isLastMonth(long time) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
int lastMonth = calendar.get(Calendar.MONTH);
calendar.setTime(new Date(time));
int paramMonth = calendar.get(Calendar.MONTH);
if (paramMonth == lastMonth) {
return true;
}
return false;
}
/**
* is last week
* @param time
* @return
*/
public static boolean isLastWeek(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.add(Calendar.DATE, -7);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
int lastWeek = calendar.get(Calendar.WEEK_OF_YEAR);
calendar.setTime(new Date(time));
int paramWeek = calendar.get(Calendar.WEEK_OF_YEAR);
if (paramWeek == lastWeek) {
return true;
}
return false;
}
Date get period的更多相关文章
- JAVA TIMER定时器
备注:类实现ServletContextListener,在web.xml配置,之后服务启动该定时器类自动加载 package com.leadlt.common.util; import java. ...
- Java中的Timer和TimerTask在Android中的用法(转)
转自:http://blog.csdn.net/zuolongsnail/article/details/8168689 在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务.比如UI ...
- JodaTime初体验
前段时间用JDK自带的Calendar类来处理日期,需要获取年.季,月,星期的起始日期,被折腾得要死要活.看了这篇文章 http://www.blogbus.com/dreamhead-logs/22 ...
- java定时任务
java定时任务实现方法: public class TimingTask { private static int count = 0; private static SpiderService s ...
- General Ledger Useful SQL Scripts – Oracle Applications 11i
General Ledger Useful SQL Scripts – Oracle Applications 11i Contents GL Set of Books Configuration O ...
- 定时任务:Java中Timer和TimerTask的使用
java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks. 一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerT ...
- Java中Timer和TimerTask的使用
转自:http://www.cdtarena.com/javapx/201306/8893.html java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks. 一个 ...
- Android中实现定时器的四种方式
第一种方式利用Timer和TimerTask 1.继承关系 java.util.Timer 基本方法 schedule 例如: timer.schedule(task, delay,period); ...
- Timer,TimerTask通过程序计数器实现的定时任务
1.程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看 做是当前线程所执行的字节码的行号指示器.在虚拟机的概念模型里(仅是概念模型, 各种虚 ...
随机推荐
- 《BI那点儿事》数据流转换——查找转换
查找转换通过联接输入列中的数据和引用数据集中的列来执行查找.是完全匹配查找.在源表中查找与字表能关联的所有源表记录.准备数据.源表 T_QualMoisture_Middle_Detail字典表 T_ ...
- 从webRoot中下载Excel
@RequestMapping("downLoad") public void downLoad(Offsupervise off1,HttpServletRequest requ ...
- 值得学习的C语言开源项目
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工 ...
- http://www.oreilly.com/catalog/errataunconfirmed.csp?isbn=9780596529321
集体智慧勘误表: http://www.oreilly.com/catalog/errataunconfirmed.csp?isbn=9780596529321 ------------------- ...
- mysql5.x(<7) sql文件导入到5.7
一.修改sql—model http://www.linuxidc.com/Linux/2016-09/135372.htm
- PHP 小方法之 二维数组排序
if (! function_exists ( 'multi_array_sort' )) { function multi_array_sort($arr, $keys, $type = 'desc ...
- 如何让linux定时任务crontab按秒执行
如何让linux定时任务crontab按秒执行? linux定时任务crontab最小执行时间单位为分钟如果想以秒为单位执行,应该如何设置呢?思路 正常情况是在crontab中直接定义要执行的任务,现 ...
- SPSS数据分析—单因素及多因素方差分析
t检验可以解决单样本.两个样本时的均值比较问题,但是对于两个以上样本,就不能用t检验了,而要使用方差分析.t检验是借助t分布,方差分析是借助F分布,基于变异分解的思想进行. 在算法上,由于线性模型的引 ...
- oracle怎样用触发器将一张表的数据添加到另外一张表中
好吧,我就假设你两个表的数据结构相同吧create table TabA( address varchar2(50), press varchar2(50), city varchar2(50) )/ ...
- [整]C#获取天气预报信息(baidu api)包括pm2.5
/// <summary> /// 获取天气预报信息 /// </summary> /// <returns></returns> public Bai ...