加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex 日期计算用法举例

发布时间:2020-12-15 04:30:50 所属栏目:百科 来源:网络整理
导读:参考地址: http://blog.csdn.net/haha_mingg/article/details/7740766 最近flex项目中用到了关于日期时间的计算,也从网上找了些资料。自己整理了一下,方便以后查询 1.计算一个月的最后一天: ?xml version="1.0" encoding="utf-8"? s:Application xmlns:fx=

参考地址: http://blog.csdn.net/haha_mingg/article/details/7740766

最近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/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.计算两时间的差值

  1. var?date1:Date?;??
  2. ??
  3. var?date2:Date;??
  4. ??
  5. var?num1:Number?=date1.valueOf();??
  6. ??
  7. var?num2:Number?=date2.valueOf();??
  8. ??
  9. var?different:Number?=?num2-num1;??
  10. ??
  11. ??
  12. var?diffDay:int?=?int(diff/24/60/60/1000);//方法1??
  13. ??
  14. var?d1Days?:?int?=?int(num1/?24?/?60?/?60?/?1000);??
  15. 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个月。?
  1. private?function?dateAdd(datepart:String="",?number:Number=0,?date:Date=null):Date??
  2. ????{??
  3. ?????if?(date?==?null)??
  4. ?????{??
  5. ??????date=new?Date();??
  6. ?????}??
  7. ??
  8. ?????var?returnDate:Date=new?Date(date.time);??
  9. ?????switch?(datepart.toLowerCase())??
  10. ?????{??
  11. ??????case?"fullyear":??
  12. ??????case?"month":??
  13. ??????case?"date":??
  14. ??????case?"hours":??
  15. ??????case?"minutes":??
  16. ??????case?"seconds":??
  17. ??????case?"milliseconds":??
  18. ???????returnDate[datepart]+=number;??
  19. ???????break;??
  20. ??????default:??
  21. ???????break;??
  22. ?????}??
  23. ?????var?newdate:Date=new?Date(returnDate.getFullYear(),?returnDate.getMonth(),?returnDate.date?-?1);??
  24. ?????return?newdate;??
  25. ????}?
5.对日期加1天。

  1. //给定的日期上加一天??
  2. ?private?function?addOneDay(day:int,?mydate:Date):Date??
  3. ?{??
  4. ?????var?returnDate:Date?=?new?Date(mydate.time);??
  5. ?????returnDate['date']?+=?day?//day就是你要加的天数,如果是加1天则为1,如果是减天则为-1??
  6. ?????return?returnDate;?????
  7. ?}??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读