`
zgqynx
  • 浏览: 1356071 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

日期 显示天...

    博客分类:
  • java
阅读更多
package aaaaaTest;

import java.text.DateFormat;
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 DateTest1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Map month = new HashMap();
		Map day = new HashMap();
		List listYear = new ArrayList();		
		String time = "2006-02-1";
		String time2 = "2007-05-2";
		DateFormat dfYear = new SimpleDateFormat("yyyy");
		DateFormat dfMonth = new SimpleDateFormat("yyyy-MM");
		DateFormat dfDay = new SimpleDateFormat("yyyy-MM-dd");
		DateFormat dfDay2 = new SimpleDateFormat("dd");
		
	
		Calendar cDay1 = Calendar.getInstance();
		Calendar cDay2 = Calendar.getInstance();

		try {
			cDay1.setTime(dfDay.parse(time));// 开始日
			cDay2.setTime(dfDay.parse(time2));// 结束日
		} catch (Exception e) {
			e.printStackTrace();
		}
		// 逆向思考,由天得到月,由月得到年		
		String monthTemp = ""; //月
		String yearTemp = "";// 年
		List listDayTemp = null;
		List listMonthTemp = null;
		while (!cDay1.after(cDay2)) {
			Date dayTemp = cDay1.getTime();// 一天
			if (dfYear.format(dayTemp).equals(yearTemp)) {// 同一年
				if (dfMonth.format(dayTemp).equals(monthTemp)) {// 同一个月
					listDayTemp.add(dfDay2.format(dayTemp)); // 增加天
				} else {// 不同月
					listDayTemp = new ArrayList();// 增加天的列表
					listDayTemp.add(dfDay2.format(dayTemp)); // 增加天
					monthTemp = dfMonth.format(dayTemp);
					listMonthTemp.add(monthTemp);// 增加月
					day.put(monthTemp, listDayTemp);
				}
			} else {// 不同年
				yearTemp = dfYear.format(dayTemp);// 设置年
				listYear.add(yearTemp);// 增加年=======================================
				monthTemp = dfMonth.format(dayTemp);// 设置月
				listMonthTemp = new ArrayList();// 增加月列表
				listMonthTemp.add(monthTemp);// 增加月
				listDayTemp = new ArrayList();// 增加天列表
				listDayTemp.add(dfDay2.format(dayTemp));// 增加天
				month.put(yearTemp, listMonthTemp);//
				day.put(monthTemp, listDayTemp);				
			}
			cDay1.add(Calendar.DAY_OF_MONTH, 1);// 增加一天
		}
		System.out.println("<table border='0' cellpadding='0' cellspacing='0'>");
		System.out.println("<tr>");
		for(int i=0;i<listYear.size();i++){
			//System.out.println("年:"+listYear.get(i));		
		
			List monthList =(List)month.get(listYear.get(i));
			for(int j=0;j<monthList.size();j++){//月				
				System.out.println("<td><table border='1' cellpadding='0' cellspacing='0'>");//一个月一个table(放在外层table中同一行的不同列中),月占一行,日占一行
				
				List dayList =(List)day.get(monthList.get(j));
				System.out.println("<tr><td nowrap align='center' colspan='"+dayList.size()+"'>"+monthList.get(j)+"</td></tr>");//月所在的行
				System.out.println("<tr>");//日所在的行
				for(int k=0;k<dayList.size();k++){//日
					System.out.println("<td>"+dayList.get(k)+"</td>");
				}
				System.out.println("</tr>");//日所在的行结束
				System.out.println("</table></td>");				
			}
			
		}
		System.out.println("</tr>");
		System.out.println("</table>");
	}
}
分享到:
评论

相关推荐

    C# VS2005 日期控件...

    在这个场景中,"日期控件"是指用于在Web页面上显示、选择和处理日期的用户界面元素。在VS2005中,有几种常见的日期控件可以用于实现这一功能,例如ASP.NET的Calendar控件、TextBox控件配合Validator控件以及...

    易语言源码易语言日期调整源码.rar

    6. **数据输出**:处理后的日期通常需要以某种形式展示给用户,这可能涉及到易语言的数据显示函数,如`窗口控件.文本`,将处理结果输出到窗口的指定位置。 7. **结构化编程**:易语言采用的是结构化编程思想,通过...

    Android 桌面显示今天日期源码.zip

    我们需要创建一个继承自`AppWidgetProvider`的类,重写`onUpdate()`方法,以便在小部件被添加或更新时执行特定操作,例如更新日期显示。 3. **RemoteViews**: `RemoteViews`类用于描述小部件在主屏幕上的布局和...

    易语言源码易语言格式化日期源码.rar

    显示信息`函数将格式化后的日期显示出来。 除了基本的格式化,易语言还支持更复杂的日期处理,如获取星期几、计算两个日期之间的差值等。例如,获取日期的星期几可以使用`日期时间.获取星期`函数: ```易语言 ....

    Excel不更新的自动日期设置方法.pdf

    例如,在单元格中输入=A1+1,A1单元格中输入的日期将被自动更新为下一天。 此外,还可以使用VBA宏来实现自动日期设置。例如,可以使用VBA宏来实现每天自动更新日期。 在实现自动日期设置时,需要注意以下几点: 1...

    日期选择器.zip

    6. **交互反馈**:当用户与日期选择器互动时,应该提供视觉反馈,比如选中的日期高亮显示,或者在鼠标悬停时显示预览。这些可以通过CSS类名切换和过渡效果来实现。 7. **模块化和可复用性**:为了提高代码的可维护...

    自定义pop日期选择器.rar

    同时,要实现选择范围的限制,比如只允许选择90天内的日期,超过90天的日期应以灰色显示且不可选。 3. **PopWindow集成**:PopWindow是一种可以浮动显示的小窗口,常用来创建弹出菜单或提示信息。在这个案例中,...

    Android日历方式显示的日期选择组件.pdf

    在Android开发中,创建一个日历方式显示的日期选择组件是一项常见的需求,这通常涉及到自定义控件的设计。从给出的文件内容来看,这个组件由五个核心类组成:DateWidget、DateWidgetDayCell、DateWidgetDayHeader、...

    ios-酒店入住日期选择器.zip

    - 考虑到国际化,日期和星期的显示应根据用户的系统设置进行调整。 5. **性能优化**: - 为了保持流畅的用户体验,日期选择器需要优化滚动性能,避免在大量日期计算时出现延迟。 - 使用内存管理策略以防止内存...

    JS实现日期时间动态显示的方法

    在JavaScript中,动态显示日期和时间是一项常见的需求,特别是在网页应用中。本文将详细解析如何使用JavaScript实现这一功能,特别是通过实例代码来说明具体的实现步骤。 首先,我们要明白JavaScript中的`Date`对象...

    ios-日期选择器.zip

    如果需要自定义日期显示格式,可以使用` DateFormatter`: ```swift let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd" // 自定义格式 let selectedDateString = dateFormatter....

    Oracle中的日期时间存储.docx

    在Oracle中,日期加减操作的默认单位是天。例如,要为当前日期加上30分钟,可以使用`sysdate + (30/24/60)`,这里将分钟转换为天数。若要减去30分钟,只需添加负号即可,如`sysdate + (-30/24/60)`。 对于月份的加...

    今天日期所在行,显示红色。今天之前的日期所在行显示黄色。.xlsx

    今天日期所在行,显示红色。今天之前的日期所在行显示黄色。

    php html日期控件.rar

    这会在支持的浏览器中显示一个日期选择器,用户可以方便地选择日期。 2. PHP日期处理: PHP提供了强大的日期和时间处理函数,如`date()`、`strtotime()`、`datetime`类等,用于格式化、解析和操作日期。例如,你...

    Oracle日期时间用法.docx

    结果将是给定日期(例如当前日期)所在月份的最后一天。 3. **Add_months**: `add_months` 函数用于在给定的日期上增加或减少指定的月份数量。 ```sql Select add_months(sysdate, 2) from dual; ``` 这将返回...

    JS 日期 显示框

    在JavaScript中处理日期是一项常见的任务,尤其是在创建动态的日期显示框时。日期显示框通常用于展示当前日期、允许用户选择日期或者进行日期相关的计算。 在JavaScript中,日期对象(Date)是内置的,它提供了丰富的...

    ABAP常用日期函数总结.pdf

    4. **FIMA_DATE_CREATE**:此函数用于获取指定日期的上个月的第一天和最后一天。通过设置参数`I_FLG_END_OF_MONTH`和`I_YEARS/I_MONTHS/I_DAYS`,可以轻松地回溯到特定的日期。 5. **DATE_GET_WEEK**:这个函数返回...

    易语言源码日期设置模块.7z

    6. 日期时间操作:支持增加或减少日期和时间,比如向前或向后推算几天、几小时等。 7. 节假日判断:可能包含了对公历或农历节假日的判断,以便在特定日期执行某些操作。 8. 时间戳转换:将日期时间转换为Unix...

    Oracle日期时间用法.pdf

    结果将显示执行SQL语句时的当前日期和时间。 2. Last_day:此函数返回给定日期所在月份的最后一天。这在统计月末数据时非常有用。 ```sql SELECT last_day(sysdate) FROM dual; ``` 这将返回本月的最后一天。 ...

Global site tag (gtag.js) - Google Analytics