`

设置一个月的开始和结束

阅读更多
1.以前的办法

/**
	 * 根据月份设置活动的开始何结束时间
	 * 
	 * @param activity
	 * @param activityMonthPara
	 *            客户端选择的月份
	 * @return
	 */
	public Advertisement setActivtityDate(Advertisement activity,
			String activityMonthPara) {
		int year;
		String month = null;
		String day = "01";
		Calendar today = Calendar.getInstance();
		today.setTime(new Date());
		year = getActivityYear(today, activityMonthPara);

		// today.add(Calendar.MONTH, 1);
		// today.add(Calendar.SECOND, -1);

		if (activityMonthPara.equals("12")) {
			// 活动开始时间
			month = activityMonthPara;
			String startDateStr = year + "/" + month + "/" + day;
			activity.setStartDate(DateUtil.getInstance().parseStringToDate(
					startDateStr));

			// 活动结束时间
			year += 1;
			month = "01";
			String endDateStr = year + "/" + month + "/" + day;
			activity.setEndDate(DateUtil.getInstance().parseStringToDate(
					endDateStr));
		} else {
			int intMonth = Integer.parseInt(activityMonthPara);
			if (intMonth < 9) {
				// 其它月份活动开始时间
				month = activityMonthPara;
				String startDateStr = year + "/0" + month + "/" + day;
				activity.setStartDate(DateUtil.getInstance().parseStringToDate(
						startDateStr));

				// 其它月份活动结束时间,结束月份要加1
				month = String.valueOf(Integer.parseInt(activityMonthPara) + 1);
				String endDateStr = year + "/0" + month + "/" + day;
				activity.setEndDate(DateUtil.getInstance().parseStringToDate(
						endDateStr));
			} else if (intMonth == 9) {
				// 其它月份活动开始时间
				month = activityMonthPara;
				String startDateStr = year + "/0" + month + "/" + day;
				activity.setStartDate(DateUtil.getInstance().parseStringToDate(
						startDateStr));

				// 其它月份活动结束时间,结束月份要加1
				month = String.valueOf(Integer.parseInt(activityMonthPara) + 1);
				String endDateStr = year + "/" + month + "/" + day;
				activity.setEndDate(DateUtil.getInstance().parseStringToDate(
						endDateStr));
			} else {
				// 其它月份活动开始时间
				month = activityMonthPara;
				String startDateStr = year + "/" + month + "/" + day;
				activity.setStartDate(DateUtil.getInstance().parseStringToDate(
						startDateStr));

				// 其它月份活动结束时间,结束月份要加1
				month = String.valueOf(Integer.parseInt(activityMonthPara) + 1);
				String endDateStr = year + "/" + month + "/" + day;
				activity.setEndDate(DateUtil.getInstance().parseStringToDate(
						endDateStr));
			}
		}

		return activity;
	}


2.现在的办法

	/**
	 * 根据月份设置活动的开始何结束时间
	 * 
	 * @param activity
	 * @param activityMonthPara
	 *            客户端选择的月份
	 * @return
	 */
	public Advertisement setActivtityDate(Advertisement activity,
			String activityMonthPara) {
		
		Date startDate = DateUtil.getInstance().parseStringToDate(activityMonthPara, "yyyy-MM");
		activity.setStartDate(startDate);

		Calendar today = Calendar.getInstance();
		today.setTime(startDate);
		today.add(Calendar.MONTH, 1);
		today.add(Calendar.SECOND, -1);
		
		activity.setEndDate(today.getTime());

		System.out.println("endDate:" + today.getTime());

		return activity;
	}


3.一个日期的辅助方法


	/**
	 * 功能:将dateString字符串转换成dateModul型的日期格式
	 * 
	 * @param dateString
	 * @param dateModul
	 * @return
	 */
	public Date parseStringToDate(String dateString, String dateModul) {
		SimpleDateFormat dateFormat = new SimpleDateFormat(dateModul);
		Date tempDate = null;
		try {
			tempDate = dateFormat.parse(dateString);
		} catch (ParseException e) {
			System.out.println("日期格式转化错误");
			e.printStackTrace();
		}
		return tempDate;
	}









.
分享到:
评论

相关推荐

    my97开始时间和结束时间最大差值设置

    my97时间控件,开始时间和结束时间最大差值校验设置,支持按月、天配置,附带my97控件jar及配置说明

    vant 时间选择器–开始时间和结束时间实例

    我就废话不多说了,大家还是直接看代码吧~ &lt;div class=dateValueDiv v-if=allDateStart&gt;{{dateFormatterStart}} &lt;div class=dateValueD

    js月份选择(起始月结束月)下拉框

    JS编写,下拉框选择开始月份和结束月份,可设置默认月份; 很不错,试试吧~~

    网页html5版仿真巡检机器人,设置巡检起点终点和巡检日期

    一款用于网页版巡检的页面,可以根据自己的需求选定目标点和起点,我的页面设置的巡检的起点只有一个,可以根据需要选定不同的起点,重点我有三个,分别是中间位置、第三个位置和最后的位置。和实际相符,主要可以和...

    有天ASP Access投票系统 v2.0 演示版.zip

    [功能] 1.多处布局可后台控制 ...8.投票开始时间和结束时间设置 9.投票项可选择显示和锁定 10.可以设置多个管理员 11.更多设置见下图    温馨提示:源码功能有限制,后台系统设置和用户管理不可以使用。

    基于51单片机的教师智能照明控制系统

    操作包含两大部分,第一是设置时间,第二是设置定时的开始时间和结束时间,第三是模式切换和手动开关。 正常情况下,显示实时时间,当需要进行按键操作时,可按照下列步骤执行: 长按选择按键一次后释放,出现: 再...

    微软JavaScript手册

    atEnd 方法 返回一个指示枚举算子是否处于集合结束处的 Boolean 值。 big 方法 在String 对象的文本两端加入 HTML 的标识。 按位与运算符 (&) 对两个表达式执行按位与操作。 按位左移运算符() 将一个表达式的...

    javascript文档

    atEnd 方法 返回一个指示枚举算子是否处于集合结束处的 Boolean 值。 big 方法 在String 对象的文本两端加入 HTML 的标识。 按位与运算符 (&) 对两个表达式执行按位与操作。 按位左移运算符() 将一个表达式的...

    JScript 语言参考

    atEnd 方法 返回一个指示枚举算子是否处于集合结束处的 Boolean 值。 big 方法 在String 对象的文本两端加入 HTML 的标识。 按位与运算符 (&) 对两个表达式执行按位与操作。 按位左移运算符() 将一个表达式的...

    Unity天气系统(Enviro - Sky and Weather)插件

    您可以设置每个季节的开始和结束日期。Enviro还支持根据季节,一天中的时间和当前天气进行温度模拟。Enviro新的r​​aymarching云系统基于最新的云渲染论文。这些将为您带来生命,并提供大量自定义选项。通过使用...

    基于微信小程序太极锻炼打卡系统设计与实现+毕业论文

    1.打卡时间统计可以记录用户的锻炼开始结束时间和总锻炼时间,有助于用户及时了解自己的锻炼情况,也是本系统的核心功能。 2.点击分享按钮,系统生成一张新的锻炼信息页面,生成的信息中包括用户名、日期、锻炼时长...

    在同步代码结束后,使用ReleaseMutex(THandle

    如果把初始化数组的代码放在临界区内,另一个线程在第一个线程处理完之前是不会被执行的。 使用临界区的步骤: 1、先声明一个全局变量类型为TRTLCriticalSection; 2、在线程Create()前调用...

    js设置默认时间跨度过程详解

    有一个项目,需求是进入首页要显示一个月之内的历史记录,所以从前台传到后台的结束时间为当前日期,开始时间为往前一个月。 例如,现在是2018/04/17,则结束时间为2018/04/17,开始时间为2018/03/17. 将开始时间和...

    Echarts时间轴的刻度优化和自适应

    Echarts时间轴的刻度计算有缺陷的,本人结合d3.js的时间比例尺代码,整合到了Echarts插件中,实现了年、月、日、小时、分钟、秒的刻度轴构建。

    linux大作业报告

    7、设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。 8、判断当前工作目录下所有的文件类型,如果是目录显示目录名...

    Sun/Moon Rise/Set: 太阳和月亮的升落时间和黄昏时间-matlab开发

    为了确定这两个点中的哪一个是上升点,哪一个是设置点,我们检查顶点处的高度是高于还是低于地平线。 这个过程一直持续到一天结束。 这样就可以确定所考虑的天体是环极天体,还是一整天都在地平线以下。 民用、航海...

    Gravitybox Schedule ActiveX控件

    设置显示开始和结束时间; HTML导出功能; 打印日程表; XML导出/载入; 浏览每月日程; 日程表属性控制; 工作列表控制; 页眉控制; 联系控制; 支持Unicode; 周期性约会; 模态/非模态窗口; 10种不同的浏览...

    基于jQuery的日历控件源码

    6:支持拖动改变日程开始和结束时间 7:支持拖动改变单日日程大小来日程的结束时间 (Resize) 8:支持权限控制(可设置整个视图只读,或者单个日程只读) demo中未演示 9: 支持日程多个主题 10:良好的性能表现 11...

    vbvb二级考试相关\vb二级考试相关\

    B)Visual Basic应用程序不具有明显的开始和结束语句 C)Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性 D)Visual Basic中控件的某些属性只能在运行时设置 (2)以下叙述中错误的是 A)在...

    单片机贪吃蛇课程设计报告.docx

    电气与信息工程学院 单片机课程设计报告 设计题目: 基于单片机的贪吃蛇设计 专 业: 学 生 姓 名: 班 级: 指 导 教 师: 成 绩: 2016 年 11月 22 日 设计任务及要求 基本功能: 制作一个8*8点阵的贪吃蛇游戏,...

Global site tag (gtag.js) - Google Analytics