当前位置:编程学习 > JAVA >>

java中时间分段

给了String类型的起始时间,根据需要想将他们分段,按周/月分段,怎么实现呢?
例如给了“2011-03-02”,“2011-05-01”。怎样得到一系列的时间段呢,想要得到String类型的! --------------------编程问答--------------------
不知道我理解的对不对,可以将这个String时间转换成日期对象,再通过日期对象,获取你想要的 --------------------编程问答--------------------
SimpleDateFormat
--------------------编程问答-------------------- Calandar --------------------编程问答-------------------- String时间转换成日期对象  在将data类型转成秒 在用第二个减去第一个就是两个之间的时间。一周等于多少秒。对于你的要求不是很明确 。看看是否能帮到你 --------------------编程问答-------------------- 给你写了一个周的分组,月的应该你就会写了

package com.v617.test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class DateTime {
public List getWeekList(String begin, String end) 
{
List list = new ArrayList();
try 
{
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date beginDate = df.parse(begin);
Date endDate = df.parse(end);
Calendar ca = Calendar.getInstance();
Map map = new HashMap();
while (beginDate.compareTo(endDate) <= 0) 
{
ca.setTime(beginDate);
String weekName = getWeekDayString(beginDate);
//如果星期日创建一个新的Map
map.put(df.format(beginDate),weekName);
if(weekName.equals("星期日"))
{
list.add(map);
map = new HashMap();
}
ca.add(ca.DATE, 1);
beginDate = ca.getTime();
}

catch (ParseException e) 
{
e.printStackTrace();
}
return list;
}
public String getWeekDayString(Date date)
    {
    String dayNames[] = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; 
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date); 
    int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
    String weekString = dayNames[dayOfWeek - 1];
    return weekString;
    }
public static void main(String args[]) {
DateTime dateTime = new DateTime();
List list = dateTime.getWeekList("2011-03-02", "2011-05-01");
for(int i=0;i<list.size();i++)
{
System.out.println(list.get(i));
}
}
}



结果如下:
{2011-03-06=星期日, 2011-03-05=星期六, 2011-03-02=星期三, 2011-03-03=星期四, 2011-03-04=星期五}
{2011-03-08=星期二, 2011-03-07=星期一, 2011-03-09=星期三, 2011-03-10=星期四, 2011-03-11=星期五, 2011-03-12=星期六, 2011-03-13=星期日}
{2011-03-20=星期日, 2011-03-16=星期三, 2011-03-14=星期一, 2011-03-17=星期四, 2011-03-15=星期二, 2011-03-18=星期五, 2011-03-19=星期六}
{2011-03-24=星期四, 2011-03-23=星期三, 2011-03-26=星期六, 2011-03-25=星期五, 2011-03-22=星期二, 2011-03-21=星期一, 2011-03-27=星期日}
{2011-04-02=星期六, 2011-04-03=星期日, 2011-04-01=星期五, 2011-03-31=星期四, 2011-03-30=星期三, 2011-03-29=星期二, 2011-03-28=星期一}
{2011-04-04=星期一, 2011-04-10=星期日, 2011-04-05=星期二, 2011-04-07=星期四, 2011-04-06=星期三, 2011-04-09=星期六, 2011-04-08=星期五}
{2011-04-11=星期一, 2011-04-12=星期二, 2011-04-13=星期三, 2011-04-14=星期四, 2011-04-15=星期五, 2011-04-16=星期六, 2011-04-17=星期日}
{2011-04-22=星期五, 2011-04-23=星期六, 2011-04-20=星期三, 2011-04-21=星期四, 2011-04-24=星期日, 2011-04-19=星期二, 2011-04-18=星期一}
{2011-04-30=星期六, 2011-04-26=星期二, 2011-04-27=星期三, 2011-04-28=星期四, 2011-04-29=星期五, 2011-04-25=星期一, 2011-05-01=星期日}


补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,