`

设置一个月的开始和结束

阅读更多
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;
	}









.
分享到:
评论

相关推荐

    laydate如何根据开始时间或者结束时间限制范围

    此函数将输入的日期对象转换成一个数组,包含年(year)、月(month)、日(date)、小时(hours)、分钟(minutes)和秒(seconds)。 4. 计算结束时间:在获取时间数组的基础上,可能需要调整日期或时间的值来...

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

    例如,一个会议预定系统可能不允许用户预定跨越超过一个月的会议。 在My97控件中,我们可以定制这个最大差值校验规则。这通常涉及到以下步骤: 1. **引入My97控件**:首先,你需要在项目中引入My97控件的...

    JQuery-bootstrap-datetimepicker开始时间小于等于结束时间-相互约束-清除时间

    而为了将时间限制从开始时间上移除,可以通过设置结束时间的开始日期为1970年1月1日(一个非常早的日期),或者设置一个非常晚的日期如2286年作为结束时间的开始日期,这样就可以将时间约束移除。 在清除时间的实现...

    易语言取本周开始结束日期

    系统时间子程序会返回一个包含当前年、月、日、时、分、秒的时间结构体。我们可以提取出日、月、年来构建当前日期。 接着,我们需要确定当前日期是周几。这可以通过计算当前日期与周一的日期差来完成。易语言提供了...

    layDate插件设置开始和结束时间

    在设置开始和结束时间时,主要涉及以下几个关键点: 1. **配置对象**:layDate的配置是通过JavaScript对象实现的。例如,对于开始时间`start`和结束时间`end`,我们需要分别定义它们的配置对象。这两个对象包含`...

    如何获取本周,本月,本日的开始时间和结束时间的时间戳.pdf

    可以通过 `cal.set(Calendar.DAY_OF_MONTH, 1)` 将 `Calendar` 设置为当月的第一天,然后通过 `cal.add(Calendar.MONTH, 1)` 加上一个月并减去一天,获取下月的第一天,即本月最后一天,再设置相应时间。 这个 `...

    jQuery datepicker 日期选择器 中文汉化版 开始日期结束日期

    这段代码将创建两个日期选择器,分别用于选择开始日期和结束日期,开始日期不能早于今天,而结束日期不能超过一个月后且至少要晚于开始日期一天。 6. **自定义事件和回调函数**:jQuery datepicker还支持自定义...

    js 获取本周、上周、本月、上月、本季度、上季度的开始结束日期

    在JavaScript中,获取特定时间...这个代码段提供了一个完整的解决方案,可以方便地在JavaScript中获取各种时间范围的开始和结束日期,这对于数据分析、报表生成或任何需要根据时间范围进行操作的应用程序都非常有用。

    时间控件(可设置精确到时分秒以及两个时间的对比控制)

    "时间控件(可设置精确到时分秒以及两个时间的对比控制)"是一个高级的时间选择功能,它允许用户以小时、分钟和秒的精度设定时间,并且可以进行开始和结束时间的比较,确保用户选择的时间范围有效。这种功能通常在...

    易语言源码易语言取本周开始结束日期源码.rar

    在“易语言源码易语言取本周开始结束日期源码.rar”这个压缩包中,我们重点关注的是如何在易语言中获取当前周的开始日期和结束日期。 在编程中,获取日期和时间是一项基础操作,对于数据分析、日志记录以及各种定时...

    C#获取每个年,月,周的起始日期和结束日期的方法

    接下来,我们定义一个静态方法`GetPeriod`,它接收一个`Period`参数以及两个`DateTime`类型的输出参数`beginDate`和`endDate`。这个方法将根据传入的`period`值计算并设置起始和结束日期: ```csharp public static...

    如何获取本周,本月,本日的开始时间和结束时间的时间戳.docx

    在计算机科学(CS)领域,时间戳是一种表示特定时间的方式,它是一个自1970年1月1日(协调世界时)以来经过的秒数的整数。在编程中,我们经常需要获取不同时间范围的开始和结束时间戳,比如本日、本周或本月。以下是...

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

    在网页开发中,用户界面的设计往往需要考虑用户体验和交互性,而“js月份选择(起始月结束月)下拉框”就是一个典型的例子,它旨在为用户提供一个方便的方式来选取特定的时间范围,比如报告周期或者预约日期等。...

    php获取本周开始日期和结束日期的方法

    以下是一个简单的示例代码: ```php // 定义默认日期为当前日期 $sdefaultDate = date("Y-m-d"); // 设置每周的第一天,1表示周一,0表示周日 $first = 1; // 获取当前日期是周的第几天,0表示周日,1到6表示周一...

    java根据开始时间结束时间计算中间间隔日期的实例代码

    "java根据开始时间结束时间计算中间间隔日期的实例代码" 本篇文章主要介绍了如何使用 Java 语言...本篇文章提供了一个使用 Java 语言计算两个日期之间的中间日期的实例代码,并对代码进行了详细的解释和知识点总结。

    如何使用PHP获取指定日期所在月的开始日期与结束日期

    在PHP编程中,有时我们需要获取一个指定日期所在的月份的开始日期和结束日期。这在处理时间数据、报表生成或统计分析等场景中非常常见。本文将详细解释如何使用PHP实现这个功能,通过提供的代码示例进行分析。 首先...

    php获取今日开始时间和结束时间的方法

    它接受两个参数,第一个是规定的日期和时间格式,第二个是可选的时间戳(默认为当前时间)。 2. `mktime()` 函数:这个函数返回一个时间戳,基于给出的小时、分钟、秒、月份、日期和年份。如果月份、日期或年份省略...

    PHP计算一年多少个星期和每周的开始和结束日期

    首先,这篇文章主要讨论了如何使用PHP编程...总之,这个函数提供了一个有效的机制来计算和管理项目中的周报提交功能,能够帮助开发者快速获取所需周数的开始和结束日期,进而处理更多与周报有关的数据分析和展示任务。

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

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

    获得当前月的第一天和最后一天

    要获取当前月份的第一天,我们需要创建一个`Date`对象,并将其设置为当前年份和月份的开始,然后设置小时、分钟、秒和毫秒为零,因为它们默认可能是非零值,这将导致日期不是真正的一天开始。以下是一个示例: ```...

Global site tag (gtag.js) - Google Analytics