onlyzhaozhen 2009-07-21 15:40
浏览 328
已采纳

知道一个时间段,如何求出这个时间段的同期,上期时间段?

知道一个时间段,如何求出这个时间段的同期,上期时间段?
比如:2008-02-29到2009-07-16这个时间段的
上期时间是:2006-10-13到2008-02-28
同期时间是:2007-03-01到2008-07-16

  • 写回答

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]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?