`

Flex 常用的时间方法类

    博客分类:
  • Flex
 
阅读更多

package Utils
{
    import mx.formatters.DateFormatter;

    public class DateTimeUtil
    {
        public static const LONG:String="YYYY.MM.DD HH:NN:SS";
        public static const SHORT:String="YYYY.MM.DD";

        private static var _inst:DateTimeUtil;
        private var df:DateFormatter;

        public function DateTimeUtil()
        {
            df=new DateFormatter();
        }

        public static function getInstance():DateTimeUtil
        {
            if (!_inst)
                _inst=new DateTimeUtil();
            return _inst;
        }

        /**
         * 格式化,仅提供长短两种时间格式,默认短时间格式
         * @param date
         * @param type
         * @return
         */
        public function formatDate(date:Object=null, type:String=DateTimeUtil.SHORT):String
        {
            if (!date)
                return "";
            df.formatString=type;
            return df.format(date);
        }

        /**
         * 计算两个时间相差多少天 d1-d2
         * @param d1
         * @param d2
         */
        public function diffDate(d1:Date, d2:Date):int
        {
            var diff:Number=d1.valueOf() - d2.valueOf();
            return int(diff / 24 / 60 / 60 / 1000);
        }

        /**
         * 日期的前一天
         * @param date
         * @return
         */
        public function prevDate(date:Date):Date
        {
            //new Date(
            return addDate(date,-1);
        }
        /**
         * 日期的后一天
         * @param date
         * @return
         */
        public function nextDate(date:Date):Date
        {
            return addDate(date,1);
        }
        /**
         * 日期添加N天,只支持短时间,即年月日
         * @param date
         * @param days
         * @return
         */
        public function addDate(date:Date,days:int):Date
        {
            return new Date(date.fullYear,date.month,date.date+days);
        }
        /**
         * 日期添加N年,只至支持短时间,即年月日
         * @param date
         * @param yeas
         * @return
         */
        public function addYear(date:Date,yeas:int):Date
        {
            return new Date(date.fullYear+yeas,date.month,date.date);
        }
        /**
         * 传一个2009-12-04 16:17:39类似字符串
         * 解析成一个Date对象
         *
         */
        public static function parseString2Date(str:String):Date
        {
            var dd:Number=Date.parse(str);
            var arr:Array=str.split(" ");
            var dateArr:Array=arr[0].toString().split("-");
            var  timeArr:Array=arr[1].toString().split(":");
            var date:Date=new Date(Number(dateArr[0]),Number(dateArr[1]-1),Number(dateArr[2]),Number(timeArr[0]),Number(timeArr[1]),Number(timeArr[2]),0)
            return date;
        }
        /**
         * 解析一个时间对象成为
         * 类似2009-12-04 16:17:39的字符串
         *
         */
        public static function parseDate2String(date:Date):String
        {
            var df:DateFormatter=new DateFormatter();
            df.formatString="YYYY-MM-D JJ:NN:SS";
            var str:String= df.format(date);
            return str;
        }
        public static function getNowDate():Date
        {
            var date:Date=new Date();
            var now:Date=new Date(date.fullYear,date.month,date.date,date.hours,date.minutes,date.seconds,date.milliseconds);
            return now;
        }

 

     //判断t2是否介于t1和t3之间
    public function comperTime(t1:String,t2:String,t3:String):Boolean
    {
        var y:Boolean=false;
        dateFormatter.formatString = "YYYY-MM-DD JJ:NN:SS";
        var str1,str2,str3:String;
          str1=dateFormatter.format(t1);
          str2=dateFormatter.format(t2);
          str3=dateFormatter.format(t3);
          str1=str1.replace(myPattern1,'');
          str2=str2.replace(myPattern1,'');
          str3=str3.replace(myPattern1,'');
          if(int(str1)<=int(str2)&&int(str2)<=int(str3))
          {
          y= true;
          }
          else
          {
          y= false;
          }

            return y;
    }


       //t2-t1剩余的时间
    public function leftTime(t1:String,t2:String):Number
    {
        var leftTime:Number;
        dateFormatter.formatString = "YYYY-MM-DD JJ:NN:SS";
        var str1,str2:String;
          str1=dateFormatter.format(t1);
          str2=dateFormatter.format(t2);
          str1=str1.replace(myPattern1,'');
          str2=str2.replace(myPattern1,'');
          var t:Number=int(str2)-int(str1);
              var time:String=t.toString();
              if(time.length==6)
              {
                  leftTime=int(time.substring(0,2))*3600+int(time.substring(2,4))*60+int(time.substring(5));
              }
              else if(time.length==5)
              {
                  leftTime=int(time.substring(0,1))*3600+int(time.substring(1,3))*60+int(time.substring(4));
              }
              else if(time.length==4)
              {
                  leftTime=int(time.substring(0,2))*60+int(time.substring(2,4));
              }
              else if(time.length==3)
              {
                  leftTime=int(time.substring(0,1))*60+int(time.substring(1,3));
              }
              else
              {
                leftTime=t;
              }
          return leftTime;
    }


    }
}

分享到:
评论

相关推荐

    FLEX时间轴代码

    在这个特定的FLEX时间轴代码中,用户可以通过拖动来浏览不同时间段,时间粒度设定为月份,这意味着用户可以逐月查看事件或数据的变化。 尽管该代码的功能尚未完全实现,但其基础操作已经具备,允许开发者对其进行...

    Flex带时间的日期控件

    在Flex编程环境中,开发人员经常需要处理用户界面中的日期和时间选择,以便用户可以方便地输入或选择日期和时间。Flex带时间的日期控件就是为了解决这一需求而设计的,它允许用户同时选择日期和时间,提供了一种直观...

    Flex时间选择组件

    Flex时间选择组件是一款在CSDN平台上下载并经过二次开发的时间选择工具,主要适用于Web应用程序,旨在提升用户体验,提供更加灵活、便捷的方式来选取和输入时间。这个组件可能基于ActionScript或者Flex技术,这两种...

    flex组件时间轴组件

    在本文中,我们将深入探讨“Flex组件时间轴”,这是一种在现代Web开发中广泛使用的界面元素。Flex组件时间轴主要用于组织和展示按照时间顺序排列的数据,它在各种项目中都有着重要的应用,尤其对于需要呈现时间序列...

    flex 学习项目中总结的时间处理工具类DateUtils

    在这个名为"flex 学习项目中总结的时间处理工具类DateUtils"的项目中,我们可能找到了一个针对Flex开发环境优化的日期处理工具。Flex是一种基于Adobe ActionScript的开源框架,主要用于构建富互联网应用(RIA)。 `...

    Flex-时间控件,带年月日时分秒

    下面我们将深入探讨Flex时间控件及其组件。 1. Flex时间控件的结构: Flex时间控件通常由两个主要部分组成:TimeInput和TimeChooser。TimeInput是一个文本输入框,用户可以在这里直接输入时间,或者通过相关的事件...

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

    标题提到的“flex带时间的日期控件,直接使用”指的是一个扩展了Flex默认日期选择器功能的控件,它不仅支持选择日期,还包含了时间的选择功能。这在需要用户输入精确到时间的日期数据的应用场景中非常有用。 在Flex...

    flex时间控件

    1. 导入所需的库:确保你的项目已经包含了Flex时间控件的相关库,这可能需要在项目的配置文件(如flex-config.xml)中添加相应的类路径。 2. 在MXML代码中声明控件:通过MXML语法,你可以声明并实例化时间控件,...

    Flex 时间输入框 TimeInputEx

    在Flex编程环境中,TimeInputEx是一个自定义组件,它继承了NumericStepper类来实现一个专用于输入时间的控件。这个组件允许用户方便地输入小时、分钟和秒,为时间相关的应用程序提供了便利。让我们深入了解一下这个...

    Flex时间选择控件 精确到时分秒

    在提供的压缩包文件`MyDateField`中,很可能包含了自定义的Flex时间选择控件类或示例代码,可能对标准的`DateField`或`DateSpinner`进行了扩展或修改,以提供更具体的功能或样式。例如,它可能包含了额外的皮肤、...

    flex编译优化方法

    Flex编译优化方法是提升开发效率的关键,尤其是在大型Flex项目中,编译时间长和Eclipse性能问题可能严重影响开发流程。以下是一些针对Flex编译慢的优化策略: 1. **关闭不必要的项目**:在Eclipse中,确保只开启...

    flex DataTimePicker时间控件

    由于没有具体的描述,我将基于常见的Flex时间控件特性来展开讨论。 1. **控件介绍**: DataTimePicker通常提供一个下拉日历和时间选择器,允许用户通过直观的界面选取日期和时间。它提供了多种样式和配置选项,以...

    flex 时间组件(time)

    在Flex开发中,时间组件(Time)是用于展示和处理时间数据的重要元素。它通常用于构建用户界面,让用户能够选择或输入时间值。本篇文章将深入探讨Flex中的Time组件,了解其基本用法、功能特性以及如何自定义和扩展。...

    Flex 自定义 时间 日历 控件

    Flex 自定义 时间 日历 控件

    Flex 带时间的DateField的

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

    flex3.5时间控件(含时分秒)

    在Flex 3.5开发环境中,时间控件是构建用户界面时不可或缺的一部分,尤其是在需要用户输入或选择特定时间的情况下。本篇文章将详细讲解如何在Flex 3.5中创建一个包含时、分、秒的时间选择器,以及如何进行实际应用。...

    FLEX时间带时分秒可直接使用

    本主题聚焦于一个名为"FLEX时间带时分秒可直接使用"的功能,该功能解决了在某些场景下,用户选择新的时分秒后日期会自动跳转至当天的问题。下面我们将深入探讨这一功能的具体实现、应用场景以及相关技术。 首先,...

    Flex 常用大收藏

    这个"Flex 常用大收藏"压缩包包含了关于Flex开发中的几个重要主题,包括DataGrid、上传下载、WipeLeft隐藏动画以及分页功能的实现。 首先,我们来探讨DataGrid组件。DataGrid是Flex中用于显示大量结构化数据的组件...

    flex高级日历应用类

    这将涉及到ActionScript的基本语法、面向对象编程概念、Flex组件模型、数据绑定、事件处理机制、时间日期类的使用等知识点。此外,还可能涉及到如何与服务器进行数据交换,如使用AMF(Action Message Format)进行...

    flex可选择时间的日历控件

    flex自带的日期控件是没有时间选择的,本控件集成了时间的选择,另外时间的选择实现了可手动输入,输入的值可以定位下拉列表框. 导入方便,引用方便,提供多种输出格式. 经过测试完全OK,并且该控件已经应用于我们公司的...

Global site tag (gtag.js) - Google Analytics