WEB开发网
开发学院手机开发Symbian 开发 TTime::FormatL 详解 阅读

TTime::FormatL 详解

 2010-04-20 16:05:00 来源:WEB开发网   
核心提示:示例:TTime time;Time.HomeTime();TBuf<32> timeBuf;time.FormatL(timeBuf,_L(“%F%Y/%M/%D,%H:%T:%S”)); // 2008/08/16,21:22:22详解:格式串分为本地相关和本地无关格式串,也就是说和系统的时间日期中设置

示例:

TTime time;

Time.HomeTime();

TBuf<32> timeBuf;

time.FormatL(timeBuf,_L(“%F%Y/%M/%D,%H:%T:%S”)); // 2008/08/16,21:22:22

详解:

格式串分为本地相关和本地无关格式串,也就是说和系统的时间日期中设置的格式是否相关。

以下所有格式字符都要加%

本地无关:

%:因为%是参数字符,所以需要输出%的时候,要用两个连续的%%进行转义

*:加在%后,表示需要缩写,比如%*T表示对分钟进行缩写,如果不是两位数,则去掉前导0

C:6位的微秒,%C默认是6位的,%*C2表示只取前两位,%*C4则取前4位

S:2位的秒,加*去掉前导0

T:2位的分,加*去掉前导0

H:24小时制的时,加*去掉前导0

I:12小时制的时,加不加*都会去掉前导0

F:%F参数表示D/M/Y三个参数都是本地无关的,按照格式串原样输出,%F需要用在%D、%M、%Y之前

D:2位的日,加*去掉前导0

M:2位的月,加*去掉前导0

Y:4位的年,加*去掉前两个数字,比如2008只显示08

E:星期,英文环境下,Sunday~Saturday,加*显示缩写,Sun~Sat;中文环境下,星期一~星期日,加*显示缩写,一~日

N:月的名称,英文环境下,January~December,加*显示缩写,Jan~Dec;中文环境下,1月~12月,加*显示缩写,阿拉伯数字 1~12。注意1月~12月数字都是阿拉伯数字,而不是汉字一~十二

W:2位数字,当前日期处于一年中的第几周,加*去掉前导0

X:日期后缀。例如%*D%X显示形如3rd(三号),%D%X显示形如02nd(二号)

Z:3位数字,当前日期处于一年中的第几天,加*去掉前导0

本地相关:

.:(点号)%.默认是小数点,表示分隔秒与毫秒之间的字符。可以通过TLocale::SetDecimalSeparator()设定。

::(冒号)%:表示获取本地设置中的时间分隔符,紧跟一个0~3范围的数字来指定哪一个日期分隔符。

格式如下:S0 XX S1 YY S2 ZZ S3,其中XX、YY、ZZ代表时分秒,S0~S3代表4个分隔符。%:0表示第一个分隔符,依此类推。需要注意的是,本地设置中的时间分隔符只提供冒号和点号两种字符。当然,可以通过TLocale:: SetTimeSeparator()对4个分隔符进行设置,模拟器和真机都未试验成功,待机状态的时间分隔符未更改。

1 2 3  下一页

Tags:TTime FormatL 详解

编辑录入:coldstar [复制链接] [打 印]
赞助商链接