文章摘要
这篇文章介绍了如何在VBA中编写一个自定义函数,用于将日期格式化为不同的表达方式。该函数名为`formatDate`,接收两个参数:日期值`t`和格式类型`fType`。函数通过提取日期的年、月、日、小时、分钟和秒等部分,并根据`fType`的指定格式,将这些部分组合成对应的日期字符串。例如,当`fType`为1时,输出格式为`yyyy-mm-dd`;当`fType`为6时,输出格式为`yyyy年mm月dd日`。文章详细列出了8种不同的格式类型及其对应的输出形式,并突出了格式转换的关键点,如月份和日期的零填充等。
‘转换时间 时间格式化
Function formatDate(Byval t,Byval ftype)
dim y, m, d, h, mi, s
formatDate=””
If IsDate(t)=False Then Exit Function
y=cstr(year(t))
m=cstr(month(t))
If len(m)=1 Then m=”0″ & m
d=cstr(day(t))
If len(d)=1 Then d=”0″ & d
h=cstr(hour(t))
If len(h)=1 Then h=”0″ & h
mi=cstr(minute(t))
If len(mi)=1 Then mi=”0″ & mi
s=cstr(second(t))
If len(s)=1 Then s=”0″ & s
select case cint(ftype)
case 1
‘ yyyy-mm-dd
formatDate=y & “-” & m & “-” & d
case 2
‘ yy-mm-dd
formatDate=right(y,2) & “-” & m & “-” & d
case 3
‘ mm-dd
formatDate=m & “-” & d
case 4
‘ yyyy-mm-dd hh:mm:ss
formatDate=y & “-” & m & “-” & d & ” ” & h & “:” & mi & “:” & s
case 5
‘ hh:mm:ss
formatDate=h & “:” & mi & “:” & s
case 6
‘ yyyy年mm月dd日
formatDate=y & “年” & m & “月” & d & “日”
case 7
‘ yyyymmdd
formatDate=y & m & d
case 8
‘yyyymmddhhmmss
formatDate=y & m & d & h & mi & s
end select
End Function
‘转换时间 时间格式化
Function formatDate(Byval t,Byval ftype)
dim y, m, d, h, mi, s
formatDate=””
If IsDate(t)=False Then Exit Function
y=cstr(year(t))
m=cstr(month(t))
If len(m)=1 Then m=”0″ & m
d=cstr(day(t))
If len(d)=1 Then d=”0″ & d
h=cstr(hour(t))
If len(h)=1 Then h=”0″ & h
mi=cstr(minute(t))
If len(mi)=1 Then mi=”0″ & mi
s=cstr(second(t))
If len(s)=1 Then s=”0″ & s
select case cint(ftype)
case 1
‘ yyyy-mm-dd
formatDate=y & “-” & m & “-” & d
case 2
‘ yy-mm-dd
formatDate=right(y,2) & “-” & m & “-” & d
case 3
‘ mm-dd
formatDate=m & “-” & d
case 4
‘ yyyy-mm-dd hh:mm:ss
formatDate=y & “-” & m & “-” & d & ” ” & h & “:” & mi & “:” & s
case 5
‘ hh:mm:ss
formatDate=h & “:” & mi & “:” & s
case 6
‘ yyyy年mm月dd日
formatDate=y & “年” & m & “月” & d & “日”
case 7
‘ yyyymmdd
formatDate=y & m & d
case 8
‘yyyymmddhhmmss
formatDate=y & m & d & h & mi & s
end select
End Function
© 版权声明
文章版权归作者所有,未经允许请勿转载。