`
hotboy10001000
  • 浏览: 20922 次
  • 性别: 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 "";
			}
		}


	}
}
分享到:
评论

相关推荐

    as3/flex4.6

    ### Flex4.6与AS3知识点详解 #### 一、Flex4.6简介与特性 **Flex4.6**作为一款强大的开源框架,主要用于构建跨平台的企业级应用程序、网页游戏、桌面应用及移动应用等。它基于ActionScript 3 (AS3) 开发,为开发者...

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

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

    flex的as3xls读写excel

    根据给定的信息,本文将详细解释Flex框架中利用as3xls库进行Excel文件读写的实现原理及具体步骤。 ### 一、as3xls简介 as3xls 是一个用于Adobe Flex和ActionScript 3项目的库,它允许开发人员轻松地创建、读取和...

    【强2】30个java工具类

    [工具类] Java中计算任意两个日期之间的工作天数 .java.txt [工具类] java抓取网页 .java.txt [工具类] MD5 .java.txt [工具类] MD5强化版 .java.txt [工具类] MD5超强化版 .java.txt [工具类] XML 实用工具类 .java...

    AS3CBLibrary类包

    8. **工具集**:类库还可能包含一些辅助工具类,如字符串处理、日期时间操作、数学计算等,这些通用工具能提高开发效率。 9. **性能优化**:为了确保应用的性能,AS3CBLibrary可能会提供一些优化策略,例如内存管理...

    flex组件LIST使用

    在Flex框架中,`List`组件是用于展示和操作数据集的一个强大工具。根据给定的文件信息,我们可以深入探讨如何在Flex应用中使用`List`组件,以及如何结合脚本进行动态数据处理。 ### 标题:Flex组件LIST使用 #### ...

    Android快速开发系列 10个常用工具类 程序源码

    2. **DateUtil**: 时间日期处理工具类,通常包含将日期格式化为字符串,字符串转换为日期,计算两个日期之间的差值等功能。在Android开发中,这类工具类能帮助开发者更好地管理和展示时间数据。 3. **BitmapUtil**:...

    flash Flex as3反编译工具

    NULL 博文链接:https://zongyukai20070419095606.iteye.com/blog/537456

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

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

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

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

    flex3帮助文档

    AS3引入了强类型、类和包的概念,使得代码更加规范和易于维护。 2. **MXML**:MXML是Flex3的标记语言,用于声明界面布局和组件。它与HTML类似,但更侧重于组件的定义和数据绑定,使得UI设计更加直观。 二、Flex ...

    Flex开发辅助工具

    Flex3StyleExplorer是一个用于探索和测试Flex 3应用中的样式和皮肤的工具。通过这个工具,开发者可以直观地查看和修改组件的外观,包括颜色、字体、边框等样式属性,从而更好地定制用户界面。它允许开发者预览不同...

    flex 面试题flex

    若仅需要编码便利,可创建AS工程,使用Flex作为AS编码工具。 9. Flex Builder 3的MXML页面默认背景: Flex Builder 3创建的MXML页面默认背景通常是蓝色。可以自定义皮肤或修改CSS样式来更改背景颜色。 以上是Flex...

    Adobe Flex Builder 3对对碰AS源码

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

    编译原理flex工具包

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

    Flex3学习指南-是初学者学习Flex必备资料1

    Flex3学习指南是一份专为初学者设计的资源,旨在帮助他们掌握Adobe Flex 3这一强大的富互联网应用程序(RIA)开发框架。Flex 3在Web应用开发领域具有广泛的影响力,尤其在创建交互式、图形丰富的用户界面方面表现...

    FLEX3教程(适合初学者)

    7. **动画和效果**:Flex 3提供了一些内置的动画和过渡效果,通过TimelineController和Effect类,开发者可以创建出丰富的用户体验。 8. **Flex应用程序生命周期**:理解Flex组件的创建、初始化和销毁过程对于优化...

    Flex3 Style Explorer

    我们在开发flex和air应用时,时刻需要对容器、组件等显示样式进行定义,...这是adobe官方的flex3 style编辑工具,你可以通过此工具生成所有组件的样式表,然后应用到你的项目中去,所见即所得,强烈推荐,开发flex必备

    Flex3高级教程(经典)

    《Flex3高级教程》是一本深入探讨Adobe Flex 3技术的经典教材。Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的开发框架,它基于ActionScript 3.0和Flash Player,使得开发者能够创建交互性强、功能...

Global site tag (gtag.js) - Google Analytics