VB中如何通过在文本框中输入时间日期然后直接赋值给系统时间日期,从而达到修改系统时间的目的?

2025-12-06 08:44:34
推荐回答(5个)
回答1:

这里的关键点是使用IsDate()函数判断输入的是不是正确的日期时间格式。
如果正确,则使用Date语句和Time语句设置系统的日期和时间。
代码如下:
Private Sub Command1_Click()
If IsDate(Text1.Text) Then
'设置系统日期和时间
Date = Format(CDate(Text1), "yyyy-mm-dd")
Time = Format(CDate(Text1), "hh:mm:ss")
Else
MsgBox "输入时间错误!"
End If
End Sub
一般的,使用Form_Load初始化文本框(可选的):
Private Sub Form_Load()
Text1.Text = Now
End Sub

OK!这就解决问题了。

这里的知识点:
1、Date 语句 :设置当前系统日期。
语法:Date = date
对于运行 Microsoft Windows 95 的系统,要设置的 date 必须介于 1980 年 1月 1 日与 2099 年 12 月 31 日之间。对于运行 Microsoft Windows NT 的系统,date 必须介于公元 1980 年 1 月 1 日到 2079 年 12 月 31 日之间。
2、Time 语句:设置系统时间。
语法:Time = time
必要的 time 参数,可以是任何能够表示时刻的数值表达式、字符串表达式或它们的组合。
说明:如果 time 是一字符串,则 Time 会试着根据系统指定的时间,利用时间分隔符将其转换成一个时间。如果无法转换成一个有效的时间,则会导致错误发生。
3、IsDate 函数:返回 Boolean 值,指出一个表达式是否可以转换成日期。
语法:IsDate(expression)
必要的 expression 参数是一个 Variant,包含日期表达式或字符串表达式,这里的字符串表达式是可以作为日期或时间来认定的。
说:如果表达式是一个日期,或可以作为有效日期识别,则 IsDate 返回 True;否则返回 False。在 Microsoft Windows 中,有效日期的范围介于公元 100 年 1 月 1 日与公元 9999 年 12 月 31 日之间;其有效范围随操作系统不同而不同。

回答2:

弄个文本框,然后再用CDate函数来判断。代码:OldDate=CDate(Text1.Text)If OldDate=Now() Thenmsgbox "时间日期一样"Elsemsgbox "时间日期不一样"End If

回答3:

text1.text="2013-11-2 8:20:14" '确保你的text1输入格式是正确的

‘使用下面语句设置系统日期和时间:
Date = Format(CDate(Text1), "yyyy-mm-dd")
Time = Format(CDate(Text1), "hh:mm:ss")

回答4:

需要使用API函数:SetSystemTime ,这个函数的功能是设置当前的系统时间。
函数声明:
Delart Function SetSystemTime Lib "keme132" Alias "SetSystemTime"(lpSystemTime As SYSTEMTIME) As Long
直接调用SetSystemTime函数,其中lpSystemTime是被新指定的系统时间,例如:
X = SetSystemTime(CDate(Text1.Text))

回答5:

用什么VB……不如用E语言