知道一个时间段,如何求出这个时间段的同期,上期时间段?
比如:2008-02-29到2009-07-16这个时间段的
上期时间是:2006-10-13到2008-02-28
同期时间是:2007-03-01到2008-07-16
知道一个时间段,如何求出这个时间段的同期,上期时间段?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- star00123 2009-07-21 18:40关注
我的回答,希望能帮助你...
[code="java"]
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;public class TimeTest {
public static void main(String[] args) {
//日期格式化格式 yyyy-MM-dd
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//已知时间段
GregorianCalendar day1 = new GregorianCalendar(2008,1,29);
GregorianCalendar day2 = new GregorianCalendar(2009,6,16);
//输出
System.out.print("已知时间段为: ");
System.out.println(sdf.format(day1.getTime())+" 至 "+sdf.format(day2.getTime()));
//得到已知时间段内的天数
long temp = day2.getTimeInMillis()-day1.getTimeInMillis();
long days = temp/(1000*60*60*24);
int day = Integer.parseInt(String.valueOf(days));
//获取上期结束时间
GregorianCalendar day3 = (GregorianCalendar)day1.clone();
day3.add(Calendar.DAY_OF_MONTH, -1);
//获取上期开始时间
GregorianCalendar day4 = (GregorianCalendar)day3.clone();
day4.add(Calendar.DAY_OF_MONTH, -day);
//输出
System.out.print("上期时间段为: ");
System.out.println(sdf.format(day4.getTime())+" 至 "+sdf.format(day3.getTime()));
//获取同期结束时间
GregorianCalendar day5 = (GregorianCalendar)day2.clone();
day5.add(Calendar.YEAR, -1);
//获取同期开始时间
GregorianCalendar day6 = (GregorianCalendar)day5.clone();
day6.add(Calendar.DAY_OF_MONTH, -day);
//输出
System.out.print("同期时间段为: ");
System.out.print(sdf.format(day6.getTime())+" 至 ");
System.out.println(sdf.format(day5.getTime()));
}
}
[/code]
输出结果为:
[code="java"]
已知时间段为: 2008-02-29 至 2009-07-16
上期时间段为: 2006-10-13 至 2008-02-28
同期时间段为: 2007-03-01 至 2008-07-16
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 微信会员卡接入微信支付商户号收款
- ¥15 如何获取烟草零售终端数据
- ¥15 数学建模招标中位数问题
- ¥15 phython路径名过长报错 不知道什么问题
- ¥15 深度学习中模型转换该怎么实现
- ¥15 HLs设计手写数字识别程序编译通不过
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
- ¥15 TYPCE母转母,插入认方向
- ¥15 如何用python向钉钉机器人发送可以放大的图片?