写一个函数就可以了吗
先Format(date)
然后数字变汉字
先Format(date)
然后数字变汉字
解决方案 »
- 一个XML的问题哦
- 急求一段VB代码:空间两直线的距离或交点
- 我是菜鸟 江湖救急请所有人近来帮我想想办法好了我已经站在崩溃边缘了11求各位帮帮我明天是最后的期限了帮帮我吧
- 哪位先生能举出一个Files对象中关于属性Item的例子
- 求将人民币数字金额转化为大写金额的VB源码
- 在VB 中调用vc 做的dll,该怎么样在开始声明?
- 是高手吗!进来试试!!有100分的礼物等你拿呢!!不过可要答对呀!!!!
- 使用MIC命令来播发视频文件时,应该如何返回当前所对应的帧数?
- 请问在VB中怎样能得到IP地址和本机的机器名?
- 新手 vb控制外部设备的方法(三维移动平台 矢量网络分析仪)
- 关于焦点
- ADODC控件怎么插和一条记录?!
在高级编程语言中,中经过函数转换的,所以
Dim TrueDate As String
Dim Year As String, Month As String, Day As String
Dim CNStr As String
Dim Result As String
Dim Ten As String
CNStr = IIf(Flags, "零壹贰叁肆伍陆柒捌玖拾", "○一二三四五六七八九十")
Ten = Mid(CNStr, 11, 1)
TrueDate = Format(sDate, "yyyy-m-d")
If Not IsDate(TrueDate) Then
Date2CN = sDate
Exit Function
End If
Year = DatePart("yyyy", TrueDate)
Month = DatePart("m", TrueDate)
Day = DatePart("d", TrueDate)
Result = Num2CN(Year, Flags) & "年"
If Len(Month) = 2 Then
If Right(Month, 1) <> "0" Then
Result = Result & Ten & Num2CN(Right(Month, 1), Flags)
Else
Result = Result & Ten
End If
Else
Result = Result & Num2CN(Month, Flags)
End If
Result = Result & "月"
Select Case Val(Day)
Case 1 To 9
Result = Result & Num2CN(Day, Flags)
Case 10
Result = Result & Ten
Case 20, 30
Result = Result & Num2CN(Left(Day, 1), Flags) & Ten
Case 11 To 19
Result = Result & Ten & Num2CN(Right(Day, 1), Flags)
Case 21 To 31
Result = Result & Num2CN(Left(Day, 1), Flags) & Ten & Num2CN(Right(Day, 1), Flags)
End Select
Date2CN = Result & "日"
End FunctionPrivate Function Num2CN(sNum As Variant, Optional Flags As Boolean = False) As String
Dim Result As String
Dim CNStr As String
Dim i As Integer
Dim TempNum As String
CNStr = IIf(Flags, "零壹贰叁肆伍陆柒捌玖拾", "○一二三四五六七八九十")
For i = 1 To Len(CStr(sNum))
TempNum = Mid(CStr(sNum), i, 1)
If IsNumeric(TempNum) Then
Result = Result & Mid(CNStr, Val(TempNum) + 1, 1)
Else
Result = Result & TempNum
End If
Next
Num2CN = Result
End FunctionPrivate Sub Command1_Click()
MsgBox Date2CN(IIf(Text1.Text = "", Now, Text1.Text), False)
End Sub