`
hotboy10001000
  • 浏览: 21261 次
  • 性别: Icon_minigender_1
  • 来自: 中国
最近访客 更多访客>>
社区版块
存档分类
最新评论

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

    博客分类:
  • Flex
 
阅读更多
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 AS3学习笔记总结

    Flex AS3 学习笔记总结 Flex 是 Adobe 开发的 RIA(Rich Internet Applications)工具,包括 Flex3 SDK、Flex Builder 和服务器产品,如 Lifestyle Data Services、CodeFushion。Flex 应用程序用 Flash.swf 文件...

    flex带时间的日期控件,直接使用

    在Flex编程中,UI组件是构建用户界面的关键...总的来说,这个带时间的日期控件为Flex开发提供了便利,使得处理日期时间输入变得更加直观和高效。通过深入研究和实践,开发者可以充分利用这一工具提升应用的用户体验。

    Flex3样式设计工具4IN1Flex3样式设计工具4in1.rar

    这个"Flex3样式设计工具4in1.rar"是一个压缩包,包含了多个与Flex3样式设计相关的工具和资源,帮助开发者更有效地管理及定制应用的外观。 1. **Flex3 Component Explorer**:这是一个组件浏览器,允许开发者查看和...

    as3corelib-.92.1.zip_flex

    总之,`as3corelib-.92.1.zip_flex` 包含的 AS3CoreLib 是 Flex 开发者的强大工具,它的 JSON 类尤其对于数据处理和交换至关重要。掌握 AS3CoreLib 的使用,可以显著提高 Flex 应用的开发效率和代码质量。无论是处理...

    flex as3 air ria 遮罩的使用例子

    在Flex AS3应用程序开发中,遮罩(Masking)是一种...总的来说,遮罩是Flex AS3中一个强大的工具,能够提升UI设计的灵活性和视觉吸引力。通过熟练掌握遮罩技术,开发者可以创建出更加丰富和动态的RIA和Adobe AIR应用。

    flash Flex as3反编译工具

    标题中的“Flash Flex AS3反编译工具”指的是用于解析和逆向工程Adobe Flex应用程序的软件工具。在AS3(ActionScript 3)时代,Flex是开发富互联网应用(RIA)的一个流行框架,它允许开发者使用MXML和AS3代码创建...

    Flex 3速记表 AS3.Flex.AIR最新版

    Flex 3是Adobe开发的一个开放源代码框架,用于构建富互联网应用程序(RIA),它使用ActionScript 3(AS3)编程语言和MXML标记语言。这个框架为开发者提供了丰富的组件库,使得创建交互式、高性能的Web应用变得更加...

    as3corelib.swc及解析json的例子

    as3corelib是一个强大的ActionScript 3库,它包含了一系列实用工具类,其中一个重要的功能就是处理JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,广泛用于Web服务和客户端之间的数据...

    Flex4AS3的Fireworks源文件

    总的来说,这个Flex4 AS3的Fireworks源文件为你提供了一个实际的学习案例,通过它你可以深入理解如何结合设计工具和编程语言来构建富互联网应用程序,特别是关于弹出窗口的实现。通过分析和实践,你的Flex开发技能将...

    Flex 带时间的DateField的

    在Flex开发中,DateField是Adobe Flex UIComponent类的一个子类,用于显示和编辑日期值。这个组件在用户界面设计中非常常见,特别是在需要用户输入日期的表单中。然而,标准的DateField并没有直接提供与时间相关的...

    java开发,30个常用工具类总结,全部来自项目实践中用到的工具类

    1. **DateUtils**: `java.util.Date` 和 `java.time` 包含日期和时间的操作,但DateUtils通常是Apache Commons Lang库中的一个工具类,提供更方便的日期处理方法,如格式化、解析、比较和日期的加减操作。...

    Flex样式生成工具(定制各种Flex按钮网页css样式)

    Flex样式生成工具是一款专为网页界面开发者设计的强大辅助软件,它可以帮助用户轻松定制各种Flex按钮的CSS样式。这款工具提供可视化的操作界面,使得复杂的样式调整变得直观且简单,极大地提高了开发效率。 Flex是...

    Flex3中文版API

    9. **Flex3帮助文档**:Flex3中文版API提供的帮助文档详细解释了每个类、方法、属性和事件,是学习和解决问题的重要资源。 10. **学习路径**:对于初学者,了解Flex3的基本架构和组件是开始的步骤,然后深入学习...

    词法分析自动生成工具flex

    3. `hash.c`, `emalloc.c`, `libyywra.c`: 这些是Flex生成的词法分析器内部使用的辅助函数源代码,涉及哈希表实现、内存管理和其他支持功能。它们是Flex自动生成的词法分析器的一部分,确保高效地处理输入文本。 4....

    as3xls类包

    总的来说,AS3XLS是一个强大的工具,它填补了AS3/Flex平台在处理Excel文件上的空白,让开发者能够在Flash和Flex项目中轻松地集成Excel数据。无论你是要展示Excel报告,还是进行数据分析,这个类包都能为你提供便利。...

    Adobe Flex Builder 3对对碰AS源码

    Adobe Flex Builder 3是一款强大的开发工具,主要用于构建富互联网应用程序(Rich Internet Applications,简称RIA)。它基于Eclipse平台,提供了直观的图形用户界面和强大的代码编辑功能,支持ActionScript(AS)和...

    flex3D效果

    3. **库和类**:Flex3D框架提供的库和类文件,如`flex3d.jar`或相关的AS3类,是实现3D效果的基础。这些类可能包括了3D坐标系统、矩阵变换、渲染引擎等相关组件。 4. **配置文件**:项目可能包含XML配置文件,用于...

    Flex_AS3\Flex + LCDS + Java 入门教程

    Flex Builder(在这里是FlexBuilder3 beta2插件版)是集成开发环境(IDE),用于编写和调试Flex代码。 2. **LCDS是什么?** LCDS(原名Flex Data Service)是Adobe的服务器端产品,它为Flex应用程序提供数据服务,...

    编译原理flex工具包

    3. 生成词法分析器:使用Flex命令行工具对规则文件进行处理,生成词法分析器的C源代码,如`flex lex.l`。 4. 编译词法分析器:使用C或C++编译器编译生成的源代码,如`gcc lex.yy.c -lfl`,其中-lfl链接了Flex库。 5....

    FLASHAS3代码

    本教程将深入探讨Flash AS3的核心概念和关键知识点,旨在帮助学习者提升技能,掌握这一重要的开发工具。 一、基础知识 1. AS3的语法结构:AS3基于ECMAScript 4规范,采用面向对象编程,支持类、接口和包等高级概念...

Global site tag (gtag.js) - Google Analytics