tango.text.convert.DateTime 翻译

tango.text.convert.DateTime

License:

BSD style: see license.txt

Version:

Jan 2005: initial release Mar 2009: extracted from locale, and converted to a struct

Author:

John Chapman, Kris

在一个地区设定特性(locale-specific )方式中,支持日期/时间值的格式化。看DateTimeLocale.format()描述的如何执行格式化(下面)。

DateTimeLocale DateTimeDefault [public] #
默认的 DateTimeLocale(日期时间区域)实例。
struct DateTimeLocale #
如何格式化地区设定特性的日期 /时间输出。
char[] format(char[] output, Time dateTime, char[] layout) #
把给定的时间值格式化为提供的输出,使用指定的布局( layout)。布局( layout)可以是一般的变体或自定义的,通用的通过一个单一字符指出:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
"t" = 7:04
"T" = 7:04:02 PM 
"d" = 3/30/2009
"D" = Monday, March 30, 2009
"f" = Monday, March 30, 2009 7:04 PM
"F" = Monday, March 30, 2009 7:04:02 PM
"g" = 3/30/2009 7:04 PM
"G" = 3/30/2009 7:04:02 PM
"y"
"Y" = March, 2009
"r"
"R" = Mon, 30 Mar 2009 19:04:02 GMT
"s" = 2009-03-30T19:04:02
"u" = 2009-03-30 19:04:02Z
对于 US 区域,普通的布局用下面的形式扩展:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
"t" = "h:mm" 
"T" = "h:mm:ss tt"
"d" = "M/d/yyyy"  
"D" = "dddd, MMMM d, yyyy" 
"f" = "dddd, MMMM d, yyyy h:mm tt"
"F" = "dddd, MMMM d, yyyy h:mm:ss tt"
"g" = "M/d/yyyy h:mm tt"
"G" = "M/d/yyyy h:mm:ss tt"
"y"
"Y" = "MMMM, yyyy"        
"r"
"R" = "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"
"s" = "yyyy'-'MM'-'dd'T'HH':'mm':'ss"      
"u" = "yyyy'-'MM'-'dd' 'HH':'mm':'ss'Z'"   
自定义布局用上表中右边的字符代码组合指出。例如,一个 "dddd, dd MMM yyyy HH':'mm':'ss zzzz"布局会发出这样的东西:
1
Monday, 30 Mar 2009 19:04:02 -08:00

和布局(Stdout)一起使用这些格式指示符是很简明的。例如要格式化一个整数,看起来像这样:

1
2
3
Stdout.formatln ("{:u}", 5);
Stdout.formatln ("{:b}", 5);
Stdout.formatln ("{:x}", 5);

格式化日期/时间值是类似的,格式指示符在冒号后给出:

1
2
3
Stdout.formatln ("{:t}", Clock.now);
Stdout.formatln ("{:D}", Clock.now);
Stdout.formatln ("{:dddd, dd MMMM yyyy HH:mm}", Clock.now);
DateTimeLocale* generic() [static] #
返回一个普通的 English/US实例。
Calendar calendar() #
返回给定的 Calendar(日历)实例 ,采用公历( Gregorian)作为默认值。
char[] abbreviatedDayName(Calendar.DayOfWeek dayOfWeek) #
返回一个短星期名。
char[] dayName(Calendar.DayOfWeek dayOfWeek) #
返回一个长星期名。
char[] abbreviatedMonthName(int month) #
返回一个短月份名。
char[] monthName(int month) #
返回一个长月份名。
DateTimeLocale create() [static] #
通过操作系统配置为当前用户创建和填入一个实例。
char[] expandKnownFormat(char[] format) [private] # char[] formatCustom(ref Result result, Time dateTime, char[] format) [private] # char[] formatMonth(int month, int rpt) [private] # char[] formatDayOfWeek(Calendar.DayOfWeek dayOfWeek, int rpt) [private] # int parseRepeat(char[] format, int pos, char c) [private, static] # char[] formatInt(char[] tmp, int v, int minimum) [private, static] # int parseQuote(ref Result result, char[] format, int pos) [private, static] # DateTimeLocale EngUS [private] #
一个 english/usa(英 /美)区域
TODO:
需要与 text.locale.Data整合,或从操作系统填入( populate)。
struct Result [private] # Result opCall(char[] target) [private, static] # void opCatAssign(char[] rhs) [private] # void opCatAssign(char rhs) [private] # char[] get() [private] #
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值