Flex-DateTimeUtils工具类 Date日期时间工具类 (AS3,Flex3)

flex
,日期
,工具,类型,工具类,日期类型工具类
flex,日期,工具,Date类型,工具类,日期类型工具类,Date,Tool,DateTools,DateTools
www.baidu.com
package com.lj.utils
{
	import mx.controls.DateField;
	import mx.controls.dataGridClasses.DataGridColumn;
	import mx.formatters.DateFormatter;

	/**
	 * <p>Title:日期时间工具类 </p>
	 * <p>Description:提供时间日期的一些to string 或  string to 的操作</p>
	 * <p>Copyright: 个人所有</p>
	 * <p>Company: 刘军</p>
	 * @author 刘军 TomLiu
	 * @version 1.0 LastUpdata: 2012-12-29
	 */
	public class DateTimeUtils
	{

		public static const MILLISECOND:Number=1;
		public static const SECOND:Number=MILLISECOND * 1000;
		public static const MINUTE:Number=SECOND * 60;
		public static const HOUR:Number=MINUTE * 60;
		public static const DAY:Number=HOUR * 24;
		public static const WEEK:Number=DAY * 7;
		public static const CHINESE_DATE_FORMAT:String="YYYY-MM-DD";
		public static const CHINESE_DATETIME_FORMAT:String="YYYY-MM-DD";



		/**
		 * 字符串转换成日期类型(使用mx.controls.DateField类)
		 * @param dateString
		 * @param formatString
		 * @return 
		 */
		public static function stringToDate(dateString:String, formatString:String=CHINESE_DATE_FORMAT):Date
		{
			return DateField.stringToDate(dateString,formatString);
		}
		
		/**
		 * 日期转换成字符串类型(使用mx.controls.DateField类)
		 * @param date
		 * @param formatString
		 * @return 
		 */
		public static function dateToString(date:Date,formatString:String=CHINESE_DATE_FORMAT):String{
			return DateField.dateToString(date,formatString);
		}

		/**
		 * 格式化时间YYYY-MM-DD
		 * @param date
		 * @param formatString
		 * @return
		 */
		public static function formatDateTime(date:Date, formatString:String=CHINESE_DATE_FORMAT):String
		{

			//需要as3corelib.swc如果没有可以直接使用 :return dateToString(data,formatString);
			var dateFormater:DateFormatter=new DateFormatter();
			dateFormater.formatString=formatString;
			return dateFormater.format(date);
		}

		/**
		 * 格式化时间YYYY-MM-DD HH:NN:SS
		 * @param date
		 * @param formatString
		 * @return
		 */
		public static function formatFullDateTime(date:Date, formatString:String=CHINESE_DATETIME_FORMAT):String
		{
			//需要as3corelib.swc如果没有可以直接使用 :return dateToString(data,formatString);
			var dateFormater:DateFormatter=new DateFormatter();
			dateFormater.formatString=formatString;
			return dateFormater.format(date);
		}

		/**
		 * 为DataGridColumn提供时间格式化的labelFunction
		 *
		 * @param item
		 * @param column
		 * @return
		 *
		 */
		public static function formatDateForDataGridColumn(item:Object, column:DataGridColumn):String
		{

			return formatDateTime(item[column.dataField], CHINESE_DATE_FORMAT);
		}

		/**
		 * 为DataGridColumn提供时间格式化的labelFunction
		 *
		 * @param item
		 * @param column
		 * @return
		 *
		 */
		public static function formatDateTimeForDataGridColumn(item:Object, column:DataGridColumn):String
		{

			return formatDateTime(item[column.dataField], CHINESE_DATETIME_FORMAT);
		}

		/**
		 * 给制定时间添加天数或减少天数
		 * @param date
		 * @param addDay
		 * @return
		 *
		 */
		public static function addDaysByDateTime(date:Date, addDay:Number):Date
		{
			return new Date(date.getTime() + addDay * DAY);
		}
		
		/**
		 * 取下一天
		 */
		public static function  getNextDay(currentDate:Date):Date{
			return addDaysByDateTime(currentDate,1);
		}
		
		/**
		 * 取上一天
		 */
		public static function  getLastDay(currentDate:Date):Date{
			return addDaysByDateTime(currentDate,-1);
		}

		/**
		 * 取下一个月
		 */
		public static function getNextMonth(currentDate:Date):Date
		{
			var returnDate:Date=new Date(currentDate.getTime());
			returnDate.setMonth(returnDate.getMonth() + 1, returnDate.getDate());
			return returnDate;
		}
		
		/**
		 * 取上一个月
		 */
		public static function getLastMonth(currentDate:Date):Date
		{
			var returnDate:Date=new Date(currentDate.getTime());
			returnDate.setMonth(returnDate.getMonth() - 1, returnDate.getDate());
			return returnDate;
		}

		/**
		 * 取下一个年
		 */
		public static function getNextYear(currentDate:Date):Date
		{
			var returnDate:Date=new Date(currentDate.getTime());
			returnDate.setFullYear(returnDate.getFullYear() + 1);
			return returnDate;
		}

		/**
		 * 取上一个年
		 */
		public static function getLastYear(currentDate:Date):Date
		{
			var returnDate:Date=new Date(currentDate.getTime());
			returnDate.setFullYear(returnDate.getFullYear() - 1);
			return returnDate;
		}


		/**
		 * 取当月月底
		 */
		public static function getFristDayOfMonth(currentDate:Date):Date
		{
			currentDate.setMonth(currentDate.getMonth(), 1); //下个月的第一天,也就是下个月1号
			return currentDate;
		}
		
		/**
		 * 取当月月底
		 */
		public static function getLastDayOfMonth(currentDate:Date):Date
		{
			currentDate.setMonth(currentDate.getMonth() + 1, 1); //下个月的第一天,也就是下个月1号
			currentDate.setDate(currentDate.getDate() - 1); //下个月1号之前1天,也就是本月月底
			return currentDate;
		}
		

		/**
		 * 获取日期的中文表示方式:例如星期一\星期二之类的。(注意0表示星期天)
		 * @param currentDate
		 * @return
		 */
		public static function getChineseDay(currentDate:Date):String
		{
			switch (currentDate.getDay())
			{
				case 0:
					return "星期日";

				case 1:
					return "星期一";

				case 2:
					return "星期二";

				case 3:
					return "星期三";

				case 4:
					return "星期四";

				case 5:
					return "星期五";

				case 6:
					return "星期六";

				default:
					return "";
			}
		}

		/**
		 * 获取日期的中文表示方式:例如星期一\星期二之类的。(注意0表示星期天)
		 * @param currentDate
		 * @return
		 */
		public static function getEnglishDay(currentDate:Date):String
		{
			switch (currentDate.getDay())
			{
				case 0:
					return "Sunday";

				case 1:
					return "Monday";

				case 2:
					return "Tuesday";

				case 3:
					return "Wednesday";

				case 4:
					return "Thursday";

				case 5:
					return "Friday";

				case 6:
					return "Saturday";

				default:
					return "";
			}
		}


	}
}

你可能感兴趣的:(百度,Flex,工具类,日期,Date类型,日期类型工具类)