为了账号安全,请及时绑定邮箱和手机立即绑定

为什么hour(x) 【求时间中的小时返回结果为整型】不需要cdate之类的函数来转换呢?

为什么hour(x) 【求时间中的小时返回结果为整型】不需要cdate之类的函数来转换呢?

C++
慕桂英4014372 2022-12-22 19:15:28
VB中的cdate的函数的作用是 将文本框中的数据转换成日期型数据,于是就有了:year(x) 返回日期字符串中的年份(结果为整型) private sub command1_click() dim a as string a = cdate(text1.text) msgbox "当前年份为:" & year(a) do while ....loop的循环语句还是有些模糊,感觉不太好理解....因为里面的等量的代换有点多,所以do while loop以后编程的时候可以用到哪些实际的问题中,举些代码的例子好吗????菜鸟入门,谢谢 T.T
查看完整描述

3 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

语法
Year(date)
必要的 date 参数,可以是任何能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。
Do...Loop 语句示例
本示例示范如何使用 Do...Loop 语句。内层的 Do...Loop 语句循环到第 10 次时将标志值设置为 False,并用 Exit Do 语句强制退出内层循环。外层循环则在检查到标志值为 False 时,马上退出。

Dim Check, Counter
Check = True: Counter = 0 ' 设置变量初始值。
Do ' 外层循环。
Do While Counter < 20 ' 内层循环。
Counter = Counter + 1 ' 计数器加一。
If Counter = 10 Then ' 如果条件成立。
Check = False ' 将标志值设成 False。
Exit Do ' 退出内层循环。
End If
Loop
Loop Until Check = False ' 退出外层循环。

 


查看完整回答
反对 回复 2022-12-25
?
holdtom

TA贡献1805条经验 获得超10个赞

1、因为year(x)、month(x)等函数中的x要求为日期型数据,所以在使用以上函数时,需要使用cdate将数据转换成日期型。而hour(x)、minute(x)等函数中的x要求为时间型数据,故使用这类函数时,需要使用ctime将数据转换成时间型数据。
2、do while ……loop是指:“当……时,一直继续做……”。比如当a不等于10的时候,窗口一直输出a+1后的值。
Private Sub Command1_Click()
Dim a As Integer
Do While (a <> 10)
a = a + 1
Print a
Loop
End Sub

查看完整回答
反对 回复 2022-12-25
?
喵喔喔

TA贡献1735条经验 获得超5个赞

你的代码有误,第一句应该改成dim a as date,只是因为VB本身有数据转换功能,所以结果还是对的,同样,在使用hour函数之前,VB会检查参数x是否是date日期时间类型,如果不是,会自动转换:
dim a as date
a = cdate(text1.text)
msgbox "当前年份为:" & hour(a) 

循环是很有用的,实际编程中经常用到,举例:
Dim TextLine 
Open "TESTFILE" For Input As #1 ' 打开文件。 
Do While Not EOF(1) ' 循环至文件尾。 
Line Input #1, TextLine ' 读入一行数据并将其赋予某变量。 
Debug.Print TextLine ' 在调试窗口中显示数据。 
Loop 
Close #1 ' 关闭文件。

 


查看完整回答
反对 回复 2022-12-25
  • 3 回答
  • 0 关注
  • 64 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信