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时间选择组件下载的CSDN上面的时间选择组件,然后改了一下
Flex带时间的日期控件,样式和官方的一样,好看精简
简单介绍flex4时间轴动画motivate使用方法
Flex 自定义 时间 日历 控件
flex组件时间轴,在flex项目中都有使用的案例,用来设置时间和范围具有很好的作用
flex自带的日期控件是不带时间的,这个控件解决了这个问题。可直接使用
flex自带的日期控件是没有时间选择的,本控件集成了时间的选择,另外时间的选择实现了可手动输入,输入的值可以定位下拉列表框. 导入方便,引用方便,提供多种输出格式. 经过测试完全OK,并且该控件已经应用于我们公司的...
破解flexa2.7试用版时间限制 不用再总是更改电脑时间了
Flex 继承 NumericStepper 实现时间输入组件,时分秒的输入
flex3.5时间控件(含时分秒),亲测能用!
用于FLex页面开发的时间控件,可以精确到时分秒,十分好用
Flex-时间控件,带年月日时分秒,本人一直用的一个控件,一个无BUG的好东西哦
自扩展Flex控件,可以同时选择日期和时间 自扩展Flex控件,可以同时选择日期和时间 自扩展Flex控件,可以同时选择日期和时间
flex时间控件,可直接导入使用,带年月日、时分秒的选择功能
flex4出来一段时间了,去年看了一段时间flex3,后来由于暂时没有项目需求.所以flex遗忘了很多.这次使用flex4+myeclipse8.5录制了一个视频.以免时间长了遗忘. 软件环境:windows7+flex4+myeclipse8.5+blazeds 功能描述...
一个非常不错的flex时间控件 ()}" labelFunction="selectDateTime" width="150"/> public function selectDateTime(item:Date):String { return item.fullYear + "-" + item.month + "-" + item.dateUTC + ...
NULL 博文链接:https://topmanopensource.iteye.com/blog/434445
FLEX时间带时分秒可直接使用,解决了网上选择新的时分秒后,日期变成当天问题. 时分秒可手动输入,也可以用下拉选单.欢迎大家下载学习.
flex 时间选择控件,提供了时间的选择。。。