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 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?