tt

来源:互联网 发布:盛世网络传奇 编辑:程序博客网 时间:2024/05/01 03:06

package com.hujh.demo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class Client {
 public static void main(String[] args) throws ParseException {
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:ss");
  /*Map<String, Date> datas = new HashMap<String, Date>();
  datas.put("charset", format.parse("2012-3-1 23:00"));
  datas.put("tr1", null);
  datas.put("tr2", format.parse("2012-3-2 23:00"));
  datas.put("tr3", format.parse("2012-3-2 23:00"));
  datas.put("tr4", format.parse("2012-3-3 23:00"));
  datas.put("tr5", null);
  datas.put("tr6", format.parse("2012-3-9 23:00"));
  datas.put("ga", format.parse("2012-3-10 23:00"));
  Date startDate = format.parse("2012-2-20 23:00");
  Date endDate = format.parse("2012-3-11 23:00");

  List<String> nameList = new ArrayList<String>();
  nameList.add("startDate");
  List<Date> dateList = new ArrayList<Date>();
  dateList.add(startDate);
  int i = 0;
  for (String data : datas.keySet()) {
   Date date = datas.get(data);
   if (date == null || date.compareTo(startDate) <= 0) {
    continue;
   }
   if (date.compareTo(endDate) < 0) {
    if (dateList.get(i).compareTo(date) < 0) {
     dateList.add(date);
     nameList.add(data);
     i++;
    }
   }
  }
  nameList.add("endDate");
  dateList.add(endDate);*/
  
  List<Data> datas = new ArrayList<Data>();
  Data data = new Data("charset", format.parse("2012-3-1 23:00"));
  Data data1 = new Data("tr1", null);
  Data data2 = new Data("tr2", format.parse("2012-3-2 23:00"));
  Data data3 = new Data("tr3", format.parse("2012-3-2 23:00"));
  Data data4 = new Data("tr4", format.parse("2012-3-3 23:00"));
  Data data5 = new Data("tr5", null);
  Data data6 = new Data("tr6", format.parse("2012-3-9 23:00"));
  Data data7 = new Data("ga", format.parse("2012-3-10 23:00"));

  datas.add(data);
  datas.add(data1);
  datas.add(data2);
  datas.add(data3);
  datas.add(data4);
  datas.add(data5);
  datas.add(data6);
  datas.add(data7);
  Date startDate = format.parse("2012-2-20 23:00");
  Date endDate = format.parse("2012-3-8 23:00");

  List<String> nameList = new ArrayList<String>();
  nameList.add("startDate");
  List<Date> dateList = new ArrayList<Date>();
  dateList.add(startDate);
  int i = 0;
  for (Data localData : datas) {
   Date date = localData.getDate();
   if (date == null || date.compareTo(startDate) <= 0) {
    continue;
   }
   if (date.compareTo(endDate) < 0) {
    if (dateList.get(i).compareTo(date) < 0) {
     dateList.add(date);
     nameList.add(localData.getName());
     i++;
    }
   }
  }
  nameList.add("endDate");
  dateList.add(endDate);
  // String startDate =
  List<Bean> beanList = new ArrayList<Bean>();
  for (int k = 0; k < dateList.size(); k++) {
   if (k != dateList.size() - 1) {
    Bean bean = new Bean();
    bean.setTrName(nameList.get(k) + "---" + nameList.get(k + 1));
    bean.setStartDate(dateList.get(k));
    bean.setEndDate(dateList.get(k + 1));
    beanList.add(bean);
   }
  }
  for (Bean bean : beanList) {
   System.out.println(bean);
  }
 }
}

class Bean {
 private String trName;
 private Date startDate;
 private Date endDate;

 public String getTrName() {
  return trName;
 }

 public void setTrName(String trName) {
  this.trName = trName;
 }

 public Date getStartDate() {
  return startDate;
 }

 public void setStartDate(Date startDate) {
  this.startDate = startDate;
 }

 public Date getEndDate() {
  return endDate;
 }

 public void setEndDate(Date endDate) {
  this.endDate = endDate;
 }

 @Override
 public String toString() {
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:ss");
  return "trName=" + trName + "             " + "startDate="
    + format.format(startDate) + "        " + "endDate="
    + format.format(endDate);
 }

}

class Data {
 private String name;
 private Date date;
 
 public Data(String name, Date date) {
  super();
  this.name = name;
  this.date = date;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public Date getDate() {
  return date;
 }

 public void setDate(Date date) {
  this.date = date;
 }
}

原创粉丝点击