天天看点

yui3 :datatype使用DataType工具

 DataType工具为数据,日期,以及XML文档,提供方便的格式转换和字符串格式化方法。

注意:我们不赞成config.locale,config.dataformat,以及DataType.Data.Locale。这些属性将在3.4.0版本中被移除。

使用DataType工具

日期

格式化日期

DataType.Data.format()将使用使用格式化的字符串作为输出。一些格式可以本地化的,所以,应该指定YUI实例的lang属性。

YUI({lang:"zh-CN"}).use("datatype-date", function(Y) {
    // 显示格式化的当前时间和日期。
  //%x %X的意思分别是现实日期和时间。更多格式化选项见下面。 
    alert(Y.DataType.Date.format(new Date(), {format:"%x %X"}));
});      

 浏览器中显示结果为:

yui3 :datatype使用DataType工具

这个模块支持许多内嵌语言。

a:一个从周日到周六的简短周次名

A:一个从周日到周六的全周次名

b:一月到十二月的简称

B:一月到十二月的全程

c:日期和时间的呈现形式

p:AM和PM

P:同p,但是是小写

x:日期(没有时间)

X:时间(没有日期)

YUI().use("intl", "datatype-date-format", function(Y) {
    // provide data for Punjabi in India印第安啥地方?
    Y.Intl.add("datatype-date-format", "pa-IN", {
        "a":["ਐਤ.","ਸੋਮ.","ਮੰਗਲ.","ਬੁਧ.","ਵੀਰ.","ਸ਼ੁਕਰ.","ਸ਼ਨੀ."],
        "A":["ਐਤਵਾਰ","ਸੋਮਵਾਰ","ਮੰਗਲਵਾਰ","ਬੁਧਵਾਰ","ਵੀਰਵਾਰ","ਸ਼ੁੱਕਰਵਾਰ","ਸ਼ਨੀਚਰਵਾਰ"],
        "b":["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ"],
        "B":["ਜਨਵਰੀ","ਫ਼ਰਵਰੀ","ਮਾਰਚ","ਅਪ੍ਰੈਲ","ਮਈ","ਜੂਨ","ਜੁਲਾਈ","ਅਗਸਤ","ਸਤੰਬਰ","ਅਕਤੂਬਰ","ਨਵੰਬਰ","ਦਸੰਬਰ"],
        "c":"%a, %Y %b %d %l:%M:%S %p %Z",
        "p":["ਸਵੇਰੇ","ਸ਼ਾਮ"],
        "P":["ਸਵੇਰੇ","ਸ਼ਾਮ"],
        "x":"%d/%m/%Y",
        "X":"%l:%M:%S %p"
    });
    // switch to Punjabi
    Y.Intl.setLang("datatype-date-format", "pa-IN");
    // now dates are formatted in Punjabi
    alert(Y.DataType.Date.format(new Date(), {format:"%A %x %X"}));
});      
yui3 :datatype使用DataType工具

因为编码不对头,所以显示乱码,但从图中可以看出,日期和时间都是按照%x %X格式化的。

至于intl这个模块:就是internationalization工具,支持管理本地资源,例如字符串和格式的结构。下一节讲。

解析日期

var date1 = Y.DataType.Date.parse("December 17, 1995 03:24:00");
//读出日期,看到底是什么样子,下同。
alert(date1);
var date2 = Y.DataType.Date.parse(1995,11,17);
var date3 = Y.DataType.Date.parse(1995,11,17,3,24,0);
var date4 = Y.DataType.Date.parse(948548583);      
yui3 :datatype使用DataType工具

 这个比较简单。如果给出的数据无效,则返回null

数字

格式化数字

alert(Y.DataType.Number.format(123123123.176,{
    prefix: "€",//前缀
    thousandsSeparator: ".",//千位分隔符
    decimalSeparator: ",",//小数点分隔符
    decimalPlaces: 2,//小数位数
    suffix: " (EUR)"//后缀
}));      
yui3 :datatype使用DataType工具

解析数字

字符串值可以被转换成数字对象,用DataType.Number.parse().

var number = Y.DataType.Number.parse("123123");      
yui3 :datatype使用DataType工具

XML

格式化xml

DataType.XML.format()能够借搜一个XML文档并返回字符串,不同浏览器返回值可能有轻微差别。

解析xml

DataType.XML.parse接受一个字符串形式的XML,返回一个XML文档对象。

var myXMLDocument = Y.DataType.XML.parse("<myroot><item type='foo'><name>Abc</name><rank>1</rank></item><item type='bar'><name>Def</name><rank>2</rank></item><item type='bat'><name>Ghhi</name><rank>3</rank></item></myroot>");      

Y.Parsers快捷方式

待补充。。。。