代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
获取同环比时间
作者:
蜗牛在路上
/ 发布于
2014/12/19
/
593
根据指定起止日期,获得同环比的带比较日期,默认日期格式:“2014-12-14”。
/** * 获得环比的待比较时间范围,逗号分隔,返回待环比日期 * @param startDate 如:"2014-01-01",默认是一个月的第一天 * @param endDate 如:"2014-06-30",默认与startDate在同一年 * @return * @author Euray */ public static String getHuanBiDate(String startDate, String endDate) { String[] starts = startDate.split("-"); String[] ends = endDate.split("-"); int startYear = Integer.parseInt(starts[0]); int startMonth = Integer.parseInt(starts[1]); int endMonth = Integer.parseInt(ends[1]); int endDay = Integer.parseInt(ends[2]); Calendar end = Calendar.getInstance(); end.set(startYear, endMonth - 1, 1); int days = end.getActualMaximum(Calendar.DAY_OF_MONTH); String returnDate = ""; int subNum = endMonth - startMonth + 1;//当前选择了几个月 if (startMonth > subNum) { //待环比日期在同一年,还是不同一年 int startMonthH = startMonth - subNum; int endMonthH = startMonth - 1; Calendar endH = Calendar.getInstance(); endH.set(startYear, endMonthH - 1, 1); int daysH = endH.getActualMaximum(Calendar.DAY_OF_MONTH); returnDate = startYear + (startMonthH < 10 ? "-0" : "-") + startMonthH + "-01," + startYear + (endMonthH < 10 ? "-0" : "-") + endMonthH + "-" + (endDay < days ? ends[2] : daysH); } else { int startMonthH = 12 + startMonth - subNum; if (startMonth > 1) { int endMonthH = startMonth - 1; Calendar endH = Calendar.getInstance(); endH.set(startYear, endMonthH - 1, 1); int daysH = endH.getActualMaximum(Calendar.DAY_OF_MONTH); returnDate = (startYear - 1) + (startMonthH < 10 ? "-0" : "-") + startMonthH + "-01," + startYear + (endMonthH < 10 ? "-0" : "-") + endMonthH + "-" + (endDay < days ? ends[2] : daysH); } else { returnDate = (startYear - 1) + (startMonthH < 10 ? "-0" : "-") + startMonthH + "-01," + (startYear - 1) + "-12-" + (endDay < 31 ? ends[2] : 31); } } return returnDate; } /** * 获得同比的待比较时间范围,逗号分隔,返回待同比日期 * @param startDate 如:"2014-01-01",默认是一个月的第一天 * @param endDate 如:"2014-06-30",默认与startDate在同一年 * @return * @author Euray */ public static String getTongBiDate(String startDate, String endDate) { String[] starts = startDate.split("-"); String[] ends = endDate.split("-"); int startYear = Integer.parseInt(starts[0]); int endMonth = Integer.parseInt(ends[1]); int endDay = Integer.parseInt(ends[2]); Calendar endDateT = Calendar.getInstance(); endDateT.set(startYear - 1, endMonth - 1, 1); int days = endDateT.getActualMaximum(Calendar.DAY_OF_MONTH); String returnDate = ""; if (endDay < days) { returnDate = (startYear - 1) + "-" + starts[1] + "-01," + (startYear - 1) + "-" + ends[1] + "-" + ends[2]; } else { returnDate = (startYear - 1) + "-" + starts[1] + "-01," + (startYear - 1) + "-" + ends[1] + "-" + days; } return returnDate; }
试试其它关键字
同环比
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
蜗牛在路上
贡献的其它代码
(
5
)
.
解一元二次方程
.
安卓的小型sql数据库
.
获取同环比时间
.
获取指定日期近31天的日期列表
.
使用IO流进行文件的合并
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3