Flex 日期计算用法举例
发布时间:2020-12-15 04:55:19 所属栏目:百科 来源:网络整理
导读:最近flex项目中用到了关于日期时间的计算,也从网上找了些资料。自己整理了一下,方便以后查询 1.计算一个月的最后一天: ?xml version="1.0" encoding="utf-8"?s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"? ? xmlns:s="library://ns.adobe.com/
最近flex项目中用到了关于日期时间的计算,也从网上找了些资料。自己整理了一下,方便以后查询 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"? ? xmlns:s="library://ns.adobe.com/flex/spark"? ? xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" ? initialize="application1_initializeHandler(event)"? ? > <s:layout> <s:BasicLayout/> </s:layout> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.events.FlexEvent; import mx.states.SetStyle;? private function ?computeFinalDay():void{? var nowDate:Date = new Date(); var nowyear:String = nowDate.getFullYear().toString(); var nowmonth:String = (nowDate.getMonth()+1).toString().length == 1?"0"+(nowDate.getMonth()+1).toString():(nowDate.getMonth()+1).toString(); var lastdaysOfMonth:String = daysOfMonth(nowyear+nowmonth); ? Alert.show("当月最后一天"+lastdaysOfMonth); }? public function daysOfMonth(Month:String):String{ ?? var currentMonth:Date = new Date(Month.substring(0,4),Month.substring(4,6),1); ?? var lastMonth:Date = new Date(Month.substring(0,String(Number(Month.substring(4,6))-1),1); ?? var diffDays:Number = currentMonth.valueOf() - lastMonth.valueOf(); ? ?? return currentMonth.getMonth()+"-"+(diffDays/( 24 * 60 * 60 * 1000)); ?? } ? /**? * 初始化函数 * 作者: * 日期:? * **/ protected function application1_initializeHandler(event:FlexEvent):void { computeFinalDay(); } ]]> </fx:Script> </s:Application> 2.计算当前天和当前月的当前天。 ? //计算当前日期的前一天 var _date:Date = new Date(); _date.setDate(_date.getDate()-1); ?? //计算当前月的第一天 var eyear:int = _date.getFullYear(); var emonth:int = _date.getMonth(); var eday:int = 1 ; select_date.selectedDate = ?new Date(eyear,emonth,eday); selectTo_date.selectedDate = _date; 3.计算两时间的差值 var date1:Date ; var date2:Date; var num1:Number =date1.valueOf(); var num2:Number =date2.valueOf(); var different:Number = num2-num1; var diffDay:int = int(diff/24/60/60/1000);//方法1 var d1Days : int = int(num1/ 24 / 60 / 60 / 1000); var d2Days : int = int(num2/ 24 / 60 / 60 / 1000); 说明:日期类型 Date 的方法 valueOf 返回指定日期自 1970年1月1日凌晨开始的间隔毫秒数,然后每天的毫秒数是:24*60*60*1000,然后再计算相差的天数 方法一:计算两个日期之间间隔的毫秒数,再运算得到间隔天数 方法二:计算两个日期基于基准日期的天数,再计算差值 ? 4.时间相加 以下是时间相加的公共方法,参数分别为:datepart代表添加的时间类型(可以为年、月、天等等),number代表添加的时间类型的具体值,代表从那天开始添加。例如: ? dateAdd("month",5,new Date())就表示在当前时间基础上添加5个月。 ? private function dateAdd(datepart:String="",number:Number=0,date:Date=null):Date { if (date == null) { date=new Date(); } var returnDate:Date=new Date(date.time); switch (datepart.toLowerCase()) { case "fullyear": case "month": case "date": case "hours": case "minutes": case "seconds": case "milliseconds": returnDate[datepart]+=number; break; default: break; } var newdate:Date=new Date(returnDate.getFullYear(),returnDate.getMonth(),returnDate.date - 1); return newdate; } 5.对日期加1天。 //给定的日期上加一天 private function addOneDay(day:int,mydate:Date):Date { var returnDate:Date = new Date(mydate.time); returnDate['date'] += day //day就是你要加的天数,如果是加1天则为1,如果是减天则为-1 return returnDate; }参考地址: www.xiebinghu.iteye.com/blog/569355 (完,待续....................................................) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |