java时间计算,获取某月第一天和最后一天
//获取前月的第一天
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
//获取当前月第一天:
Calendar c = Calendar.getInstance(); String first = null;//第一天
String last = null;//第二天
//判断获取的参数如果为-1
if(month.equals("-1")){
c.add(Calendar.MONTH, -1);
c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
first = sdf.format(c.getTime()); //获取上月的最后一天
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DATE, -1);
last = sdf.format(calendar.getTime());
}else{
c.add(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
first = sdf.format(c.getTime()); //获取当前月最后一天
Calendar ca = Calendar.getInstance();
ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
last = sdf.format(ca.getTime());
} //循环时间段
Date startDate = sdf.parse(first); Date endDate = sdf.parse(last); Calendar start = Calendar.getInstance();
start.setTime(startDate);
Long statTime = start.getTimeInMillis(); Calendar end = Calendar.getInstance();
end.setTime(endDate);
Long endTime = end.getTimeInMillis(); Long oneDay = 1000 * 60 * 60 * 24l; Long time = statTime; List timeList=new ArrayList();
while (time <= endTime) {
Date d = new Date(time);
DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
time += oneDay;
timeList.add(df.format(d));
} //根据渠道ID查询当前代理公司下有多少交易成功的单 String lastDate = null;
if(month.equals("-1")){
//获取这个时间段下一天
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DATE, 0);
lastDate = sdf.format(calendar.getTime());
}else{
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.MONTH, 1);
lastDate = sdf.format(calendar.getTime());
}
这是获取时间,然后这个时间进行相加
比如
updateDate = "2016-11-9"
//得到保单状态最后修改的时间
Date updateDate = tranCar.getDtUpdateDate();
//计算时间,+3天
Calendar calendar = Calendar.getInstance();
calendar.setTime(updateDate);
calendar.add(calendar.DATE,3);
//得出的结果
updateDate = "2016-11-12"
//获取上个月25号的时间
private String setDayLastMonth(SimpleDateFormat format) {
Calendar month = Calendar.getInstance();
month.add(Calendar.MONTH,-1);
month.set(Calendar.DATE,25);
String oneDayLastMonth = format.format(month.getTime());
return oneDayLastMonth;
} //获取当月的时间,这里时间不能超过当月25号
private String setDayBefore(SimpleDateFormat format) {
Calendar cal = Calendar.getInstance();//获取一个日历
cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天. //当前时间
String today = format.format(Calendar.getInstance().getTime());
String theDayBefore = format.format(cal.getTime());
//比较时间大小
Date theDayBeforeDate = cal.getTime();//当前时间的前一天日期格式
Date todayDate = Calendar.getInstance().getTime();//当前时间日期格式 if(theDayBeforeDate.getTime() > todayDate.getTime()){
//默认日期只能为本月的24日
cal.set(Calendar.DATE,24);
theDayBefore = format.format(cal.getTime());
}
return theDayBefore;
}
java时间计算,获取某月第一天和最后一天的更多相关文章
- js 获取某月第一天和最后一天
1.获取某月第一天和最后一天日期 function getDateByMonth (timeStamp) { let inDate = new Date(timeStamp) let year = i ...
- java 获取当月第一天和最后一天 获取前一个月第一天和最后一天
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //获取前月的第一 ...
- 获取某月第一天,最后一天的sql server脚本 【转】http://blog.csdn.net/chaoowang/article/details/9167969
这是计算一个月第一天的SQL 脚本: SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --当月的第一天 SELECT DATEADD(mm, DA ...
- 获取某月第一天,最后一天的sql server脚本
本文来自:http://blog.csdn.net/chaoowang/article/details/9167969 这是计算一个月第一天的SQL 脚本: SELECT DATEADD(mm, ...
- JAVA Calendar类获取上个月的第一天和最后一天
原文:https://www.cnblogs.com/QQParadise/articles/4936313.html 获取上个月第一天的方法: Calendar calendar = Calenda ...
- java获取当月的第一天和最后一天,获取本周的第一天和最后一天
/** * 获取指定日期所在周的第一天和最后一天,用下划线连接 * @param dataStr * @return * @throws ParseException */ public static ...
- 用js获取周、月第一天和最后一天(转载)
var getCurrentWeek = function (day) { var days = ["周日", "周一", "周二", &q ...
- js 获取当前月份 第一天和最后一天
js 获取当前月份 第一天和最后一天 var now = new Date(); //当前日期 var nowMonth = now.getMonth(); //当前月 var nowYear = n ...
- java获取当前月第一天和最后一天,上个月第一天和最后一天
package com.test.packager; import java.text.ParseException; import java.text.SimpleDateFormat; impor ...
随机推荐
- 掌握 tar 命令让你秒变大牛
导读 相信很多初学者在linux环境下为文件归类整理而犯愁,下面是整理文章的的一些命令与技巧,学习Tar命令将会让你处理文件时更加得心应手. Tar(Tape ARchive,磁带归档的缩写:最初设计 ...
- c++中的继承与初始化
1.在c++中构造函数.析构函数.=运算符.友元无法继承 2.const 成员.引用成员.类的对象成员没有默认构造函数时,需在类的构造函数初始化列表中对其进行初始化 3.基类无默认构造函数,派生类需在 ...
- (转)CString截取字符串全攻略
附:去掉空格方法 CString str("e w r we 中华ADF 华AG中"); newstr=str.Replace(" ", "&quo ...
- Linux下的压缩和解压缩命令——bzip2/bunzip2
bzip2命令 bzip2命令用于创建和管理(包括解压缩)".bz2"格式的压缩包. 我们遇见Linux压缩打包方法有很多种,以下讲解了Linux压缩打包方法中的Linux bzi ...
- dex文件格式三
先来看看整体的结构,结构体定义在DexFile.h里面 在dexFileSetupBasicPointers中设置各个子结构体,当然是在解析DexHeader之后 源码在DexFile.c文件中 ...
- appStore上传苹果应用程序软件发布流程
如有疑问,或者需要人帮忙,可以到QQ群:460325065首先确定帐号是否能发布, https://developer.apple.com/account,如果你打开Provisioning Port ...
- 最常用的ES6特性(转)
最常用的ES6特性 let, const, class, extends, super, arrow functions, template string, destructuring, defaul ...
- selenium 3.0 beta2 初体验
经过漫长的等待,终于迎来了selenium 3.0 从selenium 1.0 至今,差不多有十多年的历史.这个月终于迎来了selenium3.0 那么selenium3.0 为我们带来了什么? 看一 ...
- 远程ssh登陆时报错:/bin/bash: Permission denied
远程普通用户ssh登录时,提示/bin/bash: Permission denied,用户名mas,密码正确. 首先上个图,用户远程登录步骤,转自http://www.tldp.org/LDP/LG ...
- windows下nginx安装、配置与使用(转载)
目前国内各大门户网站已经部署了Nginx,如新浪.网易.腾讯等:国内几个重要的视频分享网站也部署了Nginx,如六房间.酷6等.新近发现Nginx 技术在国内日趋火热,越来越多的网站开始部署Nginx ...