Flex: 获得给定日期在其月份内为第几个day of week

/*

 * All Rights Reserved
 * Changelog:
 * Li Guoliang - 2009-6-5: Initial version
 * @liguoliang.com
 */

  	/**
  	 * 获得给定日期的是该月的第几个day of week. 如2009.6.28日, 为2009.06月的第四个周日, 则返回4.
  	 * @param date_  要计算周数的日期
	 * @return int 所在月的第几个周几.
	 */
	public static function getWeekOfMonth(date_:Date):int {
		var date:Date = new Date(date_.time);
		var month:int = date.month;
		var weekOfMonth:int = 0;

		while(true) {
			date.date -= 7;
			weekOfMonth ++;
			if(date.month != month) {
				break;
			}
		}

		return weekOfMonth;
	} 

	  /**
  	 * 获得给定日期的是该月的倒数第几个day of week. 如2009.6.28日, 为2009.06月的倒数第一个[最后一个]周日, 则返回1.
  	 * @param date_  要计算周数的日期
	 * @return int 所在月的倒数第几个周day of week.
	 */
	public static function getWeekOfMonthFromLast(date_:Date):int {
		var date:Date = new Date(date_.time);
		var month:int = date.month;

		var weekOfMonthFromLat:int = 0;

		while(true) {
			date.date += 7;
			weekOfMonthFromLat ++;
			if(date.month != month) {
            	break;
			}
		}

		return weekOfMonthFromLat;
	}
This entry was posted in Flex and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>