最近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,4), 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
(完,待续....................................................)
分享到:
相关推荐
flex 经常用法flex 经常用法flex 经常用法flex 经常用法flex 经常用法
flex计算连个日期之间相差的天数
flex 日期控件可选时分秒
flex Date 日期转换 推算向前后 加减多少小时 多少天 多少分秒的时间 application文件 下载直接运行 看效果
flex日期控件可选时分秒,好用。
实用flex日期控件,原创,适用开发人员使用datefeild控件去除不需要日期时适用
一些flex组件的用法! flex组件用法。 自定义控件
1、实现了将日期时间型、日期型、时间型转换为字符串型功能; 2、实现了日期时间型按天、小时、分钟、秒进行加减; 3、实现了日期型按天加减; 4、实现了时间型按小时、分钟、秒进行加减;
Flex 日期时间选择控件,可选择小时、分钟、12/24小时格式
里面收集了一些Flex的tree控件的用法和实例的源代码
flex自带的日期控件是不带时间的,这个控件解决了这个问题。可直接使用
flex4 中文教程 详细介绍flex4 的基本用法,适合没有基础的开发人员参考
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效
Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...
Flex技术中AdvancedDataGrid使用方法
flex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex学习的好资源啊
Flex简介Flex简介Flex简介Flex简介Flex简介
flex事件flex事件flex事件flex事件flex事件
flex和php结合实例,通过这个例子你可以很快地构建自己的flex和php应用程序