转载format用法

以前一直自已为能写了一个中文日期的CLASS很了不起,也在论坛中发表了,可。。。
前几天在查Format函数时,发现format竞可以很轻松的达到这个目的,倒~~~~
Format$(Now,"EEOA")
只要这么一句~~~~~就可以得到○○六年五月二十六日
亏我还得写得那么多。。。
所以对FORMAT函数进行研究,参照HELP文件,把一些用法写了下来。
现拿给大家共享。。。

---------------------------------
Format[$] ( expr [ , fmt ] )
format
返回变体型
format$
强制返回为文本
--------------------------------
数字类型的格式化
--------------------------------

固定格式参数:
General Number
普通数字,如可以用来去掉千位分隔号
format$("100,123.12","General Number")
返回值 100123.12

Currency
货币类型,可添加千位分隔号和货币符号
format$("100123.12","Currency")
返回值 100,123.12

Fixed
格式为带两位小数的数字
format$("100123","Currency")
返回值 100123.00

Standard
标准,即带千位分隔号和两位小数
format$("100123","Currency")
返回值 100,123.00

Percent
百分数
format$("100123","Percent")
返回值 10012300.00%

Scientific
科学记数法
format$("100123","Scientific")
返回值 1.00E+05

Yes/No
当值为0时返回 NO,否则返回 YES
format$("100123","Yes/No")
返回值 Yes

True/False
当值为0时返回 False,否则返回 True
format$("100123","True/False")
返回值 True

On/Off
当值为0时返回 Off,否则返回 On
format$("100123","Yes/No")
返回值 On
自定义格式参数

""
不进行格式化 返回值 原值

0
占位格式化,不足补0
format$("100123","0000000")
返回值 0100123

#
占位格式化,不足时不补0
format$("100123","#######")
返回值 100123

.
强制显示小数点
format$("100123.12",".000")
返回值 100123.120

%
转化为百分数,一个%代表乘以100
format$("10.23","0.00%")
返回值 1023.00%
format$("10.23","0.00%%")
返回值 102300.00%%

,
以千为单位格化
format$("10.23",",")
返回值 0
format$("10010.23",",")
返回值 10
format$("10010.23",",0.00")
返回值 10.01

E- E+ e- e+
显示为科学记数(要注意格式语句,否则会和E的其它含义相混)
Format$(12.5,"0.00E+00")
返回值 1.25E+01

$
强制显示货币符号
format$("10.23","$0.00")
返回值 10.23

- + ( ) space
按位置显示本样
Format$("1234.56","-(0.00)")
返回值 -(1234.56)

\
转义符,显示出特殊符号
Format$("1234.56","\#.00")
返回值 #1234.56

"ABC"
显示双引号 (" ") 之内的字符串。如在代码中想在 format 中包含一个字符串,必须用 Chr(34) 将文本括起来(34 为双引号 ("))
Format$(123.45,"TTT")
返回值 TTT
注:当双引号中的文本包含特殊的参数符号如e,要使用转义符"\",否则会按e的作用显示

;
类似多目运算符的作用。

当共有 部分时,
当大于0时,按第一部分进行格式化,
当小于0时按第二部分进行格式化,
当等于0时按第三部分进行格式化,
当为null值时,按第四部分进行格式化。如:
Format$(0,"0.00;
负数;;") 返回值

当共有 部分时,
当大于0时,按第一部分进行格式化,
当小于0时按第二部分进行格式化,
当等于0时按第三部分进行格式化,如:
Format$(-10,"0.00;ttt;
") 返回值 ttt

当共有 部分时,
当大于或等于0时,按第一部分进行格式化,
当小于0时按第二部分进行格式化,
Format$(-123,"0.00;abc")
返回值 abc
Format$(123,"0.00;abc")
返回值 123.00

当共有 部分时,按分号左边进行格式化

---------------------------------
日期类型的格式化
---------------------------------
注意:在中文操作系统中,系统自动将月份输为如:五月,而非 May

固定格式参数
General Date
基本类型
Format$(Now,"General Date")
返回值 2006-5-25 14:56:15

Long Date
操作系统定义的长日期
Format$(Now,"Long Date")
返回值 2006525

Medium Date
中日期(yy/mmm/dd
Format$(Now,"Medium Date")
返回值 06-5-25

Short Date
操作系统定义的短日期
Format$(Now,"Short Date")
返回值 2006-5-25

Long Time
操作系统定义的长时间
Format$(Now,"Long Time")
返回值 15:06:36

Medium Time
AM/PM12小时制,不带秒
Format$(Now,"Medium Time")
返回值 03:08 PM

Short Time 24
时制的时间,不带秒
Format$(Now,"Short Time")
返回值 15:08

自定义格式参数
:
用来标识时间字符的间隔
Format$(Time(),"hh:nn")
返回值 15:25

/
用来标识日期字符的间隔
Format$(now,"yyyy/mm/dd")
返回值 2006-05-25

c
格式化为国标的日期和时间
Format$(Now,"c")
返回值 2006-5-25 14:56:15

y
一年中的第几天
Format$(Now,"y")
返回值 145

d
一个月中的第几天(1-366
Format$(Now,"d")
返回值 25

dd
当小于10时前面带0的天数(01-31
Format$("2006-1-7","dd")
返回值 07

ddd
周几
Format$(Now,"ddd")
返回值 周四

dddd
星期几
Format$(Now,"dddd")
返回值 星期四

ddddd
显示标准日期
Format$(Now,"ddddd")
返回值 2006-05-25

dddddd
长日期
Format$(Now,"dddddd")
返回值 2006525

w
一个星期中的第几天
Format$(Now,"w")
返回值 5

ww
一年中的第几周
Format$(Now,"ww")
返回值 21

m
月数(注:当用于时间时,也可以表时为分钟)
Format$(Now,"m")
返回值 5
Format$(Now,"h:m")
返回值 16:11

mm
当小于10时前面带0的月数(注:当用于时间时,也可以表时为带0的分钟)
Format$(Now,"m")
返回值 05
Format$(Now,"hh:mm")
返回值 16:09

mmm
月份
Format$(Now,"mmm")
返回值 五月

q
一年中的第几季(1-4)
Format$(Now,"q")
返回值 2

yy
两位数的年份(00-99)
Format$(Now,"yy")
返回值 06

yyyy
四位数的年份(0100-9999)
Format$(Now,"yyyy")
返回值 2006

h
一天中的第N小时(0-23)
Format$(Now,"h")
返回值 16

hh
当小于10时带0的小时数(00-23)
Format$("7:30:28","hh")
返回值 07

n
一小时的分钟数(0-59)
Format$("7:30:28","n")
返回值 30

nn
当小于10时带0的分钟数(00-59)
Format$("7:3:28","n")
返回值 03

s
一分钟中的秒数(0-59)
Format$("7:30:8","s")
返回值 8

ss
当小于10时带0的分钟数(00-59)
Format$("7:3:8","ss")
返回值 08

ttttt
标准时间,小时数当小于10时不带0,与h:mm:ss相同
Format$("7:3:28","ttttt")
返回值 7:03:28

AM/PM
显示当前为AM或为PM
Format$(Now,"AM/PM")
返回值 PM

A/P
显示当前为A或为P
Format$(Now,"A/P")
返回值 P

AMPM
02359的数值进行判断是AM还是PM,可以看作是同等于对00:0023:59的数字进行判断,如1000可以看作是10:00
Format$(1000,"AMPM")
返回值 AM

联合格式化

m/d/yy Format$(Now,"m/d/yy")
返回值 5-25-06

d-mmm-yy Format$(Now,"d-mmm-yy")
返回值 25-5-06

d-mmmm Format$(Now,"d-mmmm")
返回值 25-五月

mmmm-yy Format$(Now,"mmmm-yy")
返回值 五月-06

hh:mm AM/PM Format$(Now,"hh:mm AM/PM")
返回值 04:50 PM

h:mm:ss a/p Format$(Now,"h:mm:ss a/p")
返回值 4:51:38 p

h:mm Format$(Now,"h:mm")
返回值 16:51

h:mm:ss Format$(Now,"h:mm:ss")
返回值 16:51:38

m/d/yy h:mm Format$(Now,"m/d/yy h:mm")
返回值 5-25-06 16:54

----------------------------------
文本类型的格式化
----------------------------------
;
当两部分时,则第一部分为非空格式化,第二部分为null值或空值的格式化表达式
@
匹配位置插入格式化文本,占位位置不存在时,显示空白(空字符串)

只有一个@符号时,是在最后面加上格式化文本
Format$("CHIN","@a")
返回值 CHINa

有多个@占位符,是按从右至左匹配,并在相应的位置上显示格式化文本
Format$("CHIN","@a@@")
返回值 CHaIN

当与 ! 配合时,则变为从左至右匹配
Format$("CHIN","!@a@@")
返回值 CaHIN

当占位符比原文本字符串多时,刚在相应位置上添加空格
Format$("C","@@a@")
返回值 空白空白aC

&
字符占位符。除在当占位位置不存在时,不显示外,其余均与@相同

当占位符比原文本字符串多时,刚在相应位置上添加空格
Format$("C","&&a&")
返回值 aC

<
强制小写。将所有字符以小写格式显示。
Format$("I love you","
返回值 i love you

>
强制大写。将所有字符以大写格式显示。
Format$("I love you",">")
返回值 I LOVE YOU

!
强制由左而右填充字符占位符。缺省值是由右而左填充字符占位符。
Format$("CHIN","!@a@@")
返回值 CaHIN

----------------------------------------
强制使用中文格式的日期时间
----------------------------------------
aaaa
星期
Format$(Now,"aaaa")
返回值 星期五

O
中文月份
Format$(Now,"O")
返回值 五月

o
单字节月份
Format$(Now,"o")
返回值 5

A
中文日期
Format$(Now,"A")
返回值 二十六日

a
单字节日期
Format$(Now,"a")
返回值 26

E
短中文年份
Format$(Now,"E")
返回值 六年

e
单单字节年份
Format$(Now,"e")
返回值 6

EE
中文年份
Format$(Now,"EE")
返回值 ○○六年

ee
单字节年份
Format$(Now,"ee")
返回值 2006

想不到中文日期的问题就这么容易解决:
Format$(Now,"EEOA")
返回值 ○○六年五月二十六日

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22885108/viewspace-619936/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22885108/viewspace-619936/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值