做个日记用。
回答:
Debug.Print Format$(Now, "今天是dddddd h时n分s秒 aaa") 'EEOA
---------------------------------
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")返回值2006年5月25日
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/PM的12小时制,不带秒
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")返回值2006年5月25日
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对0至2359的数值进行判断是AM还是PM,可以看作是同等于对00:00至23: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")返回值二○○六年五月二十六日