14.4.格式化日期和时间
问题
我要自定义日期和时间的显示格式
解决办法
使用Date.toString( ), 或者自定义方法DateFormat.format( )
讨论
Date.toString( )方法返回Date对象的字符串类型数值,比如:
如果忽略toString()方法,ActionScript 也会自动调用toString( )方法,结果是一样的,比如下面的例子:
Date类本身并没有内建一些格式化日期和时间的方法,必须自己去实现了,当然创建Date对象时可通过一些字符串的组合实现,看下面的例子:
这样的话,每次格式化日期和时间都要自己写一大段代码了,ascb.util.DateFormat 对象提供了一个format( ) 方法实现了类似功能,DateFormat 类是一个自定义类,专门设计来通过掩码格式化日期和时间。掩码可以是任意字符组合。
当创建DateFormat对象时,传递一个掩码字符串作为参数,下面的例子创建了一个DateFormat对象输出标准的美国日期格式:
一旦创建了DateFormat对象,调用format()方法,通过指定的掩码格式化Date实例:
可以通过mask属性的get和set方法操作mask字符串,也就是说可以改变已存在的DateFormat 对象的mask属性:
用单引号围绕的字符串可原样输出,这样就可以自定义格式化形式了:
我要自定义日期和时间的显示格式
解决办法
使用Date.toString( ), 或者自定义方法DateFormat.format( )
讨论
Date.toString( )方法返回Date对象的字符串类型数值,比如:
+展开
-ActionScript
// 显示: Tue Jan 5 14:25:20 GMT-0800 2010
trace((new Date( )).toString( ));
trace((new Date( )).toString( ));
如果忽略toString()方法,ActionScript 也会自动调用toString( )方法,结果是一样的,比如下面的例子:
+展开
-ActionScript
// 也显示: Tue Jan 5 14:25:20 GMT-0800 2010
trace(new Date( ));
trace(new Date( ));
Date类本身并没有内建一些格式化日期和时间的方法,必须自己去实现了,当然创建Date对象时可通过一些字符串的组合实现,看下面的例子:
+展开
-ActionScript
var example:Date = new Date(2010, 0, 5, 10, 25);
var formatted:String = (example.month + 1) + "/" + example.fullYear;
trace(formatted); // 显示: 1/2010
var formatted:String = (example.month + 1) + "/" + example.fullYear;
trace(formatted); // 显示: 1/2010
这样的话,每次格式化日期和时间都要自己写一大段代码了,ascb.util.DateFormat 对象提供了一个format( ) 方法实现了类似功能,DateFormat 类是一个自定义类,专门设计来通过掩码格式化日期和时间。掩码可以是任意字符组合。
当创建DateFormat对象时,传递一个掩码字符串作为参数,下面的例子创建了一个DateFormat对象输出标准的美国日期格式:
+展开
-ActionScript
var formatter:DateFormat = new DateFormat("m/d/Y");
一旦创建了DateFormat对象,调用format()方法,通过指定的掩码格式化Date实例:
+展开
-ActionScript
var example:Date = new Date(2010, 0, 5, 10, 25);
var formatter:DateFormat = new DateFormat("m/d/Y");
trace(formatter.format(example)); // 显示: 01/05/2010
var formatter:DateFormat = new DateFormat("m/d/Y");
trace(formatter.format(example)); // 显示: 01/05/2010
可以通过mask属性的get和set方法操作mask字符串,也就是说可以改变已存在的DateFormat 对象的mask属性:
+展开
-ActionScript
var example:Date = new Date(2010, 0, 5, 10, 25);
var formatter:DateFormat = new DateFormat("m/d/Y");
trace(formatter.format(example)); // 显示: 01/05/2010
formatter.mask = "m/d/Y h:i a";
trace(formatter.format(example)); // 显示: 01/05/2010 10:25 am
var formatter:DateFormat = new DateFormat("m/d/Y");
trace(formatter.format(example)); // 显示: 01/05/2010
formatter.mask = "m/d/Y h:i a";
trace(formatter.format(example)); // 显示: 01/05/2010 10:25 am
用单引号围绕的字符串可原样输出,这样就可以自定义格式化形式了:
+展开
-ActionScript
var example:Date = new Date(2010, 0, 5, 10, 25);
var formatter:DateFormat = new DateFormat("m/d/Y at h:i a");
trace(formatter.format(example)); // 显示: 01/05/2010 am31 10:25 am
formatter.mask = "m/d/Y 'at' h:i a";
trace(formatter.format(example)); // 显示: 01/05/2010 at 10:25 am
var formatter:DateFormat = new DateFormat("m/d/Y at h:i a");
trace(formatter.format(example)); // 显示: 01/05/2010 am31 10:25 am
formatter.mask = "m/d/Y 'at' h:i a";
trace(formatter.format(example)); // 显示: 01/05/2010 at 10:25 am
加支付宝好友偷能量挖...