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

Flex中的日期转换

发布时间:2020-12-15 01:23:32 所属栏目:百科 来源:网络整理
导读:? 1、字符串类型的时间转换为Date类型的时间。 方法一: 查看帮助文档,发现DateFormatter类中有相应的方法,但是方法是受保护的,不能直接使用。 parseDateString () 方法?? protected static function parseDateString(str:String):Date 将已设置为 String
?

1、字符串类型的时间转换为Date类型的时间。
方法一:
查看帮助文档,发现DateFormatter类中有相应的方法,但是方法是受保护的,不能直接使用。
parseDateString () 方法??
protected static function parseDateString(str:String):Date
将已设置为 String 格式的日期转换为 Date 对象。月份名称和日期名称必须符合 mx.formatters.DateBase 中的名称。

使用方法:
写一个类继承自DateFormatter类。
import mx.formatters.DateFormatter;

//字符串类型的时间转换为Date类型时间
public class StringConvertDate extends DateFormatter
{
?public static function convertToDate(str:String):Date{
?????? ??return DateFormatter.parseDateString(str);
?}

}

调用:
createTime必须为有效的String格式的日期。
// "2008/12/19 09:30:55"
var createTime:String = "2010-4-4 18:19:12";
var svrCreateDate:Date=StringConvertDate.convertToDate(createTime);

方法二:
import mx.controls.DateField;
var createTime:String = "2010-4-4 18:19:12";
var date = createTime.substring(0,8);
var dt:Date = new Date();
var hours:Number = dt.hours;
var minutes:Number = dt.minutes;
var seconds:Number = dt.seconds;
var svrCreateDate:Date = DateField.stringToDate(date,"YYYY-MM-DD");
svrCreateDate.setHours(hours,minutes,seconds);
Alert.show(svrCreateDate);

2、Date类型的时间转换为字符串类型的时间。
方法一:
format () 方法
override public function format(value:Object):String
根据用于设置日期格式的 String 或 Date 对象生成日期格式化的 String。formatString 属性用于确定输出 String 的格式。如果无法设置 value 的格式,则会返回一个空 String,并将对错误的描述写入 error 属性。
将Date类型的对象转换为指定格式的字符串。参数可以是String类型的时间或者Date类型的时间,返回的是String类型的时间。


<!-- 定义时间类型的显示格式 formatString:"YYYY-MM-DD JJ:NN:SS"、"YYYY-MM-DD HH:NN:SS"等等,详细参考帮助文档-->
<mx:DateFormatter id="dateFormatter" formatString="YYYY年MM月DD日 JJ:NN:SS" />

//定义用于时间显示的回调函数
private function dateLabel(item:Object,column:DataGridColumn):String{
?return dateFormatter.format(item[column.dataField]);
}

在DataGrid中调用,labelFunction="dateLabel" :
<mx:DataGridColumn headerText="创建时间" dataField="createdate" labelFunction="dateLabel" />

方法二:
其实与上面是一样的,上面是标签的形式。
//生成格式化对象
var dateFormatter:DateFormatter=new DateFormatter();
//设定格式
dateFormatter.formatString=”YYYY-MM-DD JJ:NN:SS”;
//执行格式化
dateFormatter.format(time);

方法三:DateField.dateToString()方法参数只能接受Y、M、D。也就是说只能处理年月日,不能处理小时分钟秒。//svrCreateDate为Date类型的日期。import mx.controls.DateField; var helloDate:String = DateField.dateToString(svrCreateDate,"DD/MM/YYYY"); var helloDate2:String = DateField.dateToString(svrCreateDate,"YYYY-MM-DD");

(编辑:李大同)

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

    推荐文章
      热点阅读