为什么这总是给我当前的时间

时间:2011-08-16 19:06:21

标签: scripting vbscript

    If internal_isTurnedOn And Right(LCase(internal_CurrentUser), 8) = "lastname"  Then     
        Dim value: value = CDate(InputBox("enter the date and time (hh:mm)", "please", FormatDateTime(Time, 4)))     
        ' validate the input here     
        internal_Time = CDate(value)  
    Else
        internal_Time = CDate(Time)
    End If  

我得到输入框,无论我输入什么值,它都会给我当前时间。 我希望默认值保持当前时间(显示),但如果用户将其更改为另一个值,那么我想要更改的值

更新代码

    If internal_isTurnedOn And Right(LCase(internal_CurrentUser), 8) = "lastname"  Then
        Dim value
        value = CDate(InputBox("Please enter the time (hh:mm)", "Time Input", FormatDateTime(Now, 4)))             
        internal_Time = CDate(FormatDateTime(value, 4))
    Else
        internal_Time = FormatDateTime(Time, 4)
    End If  

然而现在我得到了我输入的正确时间,但它正在添加一些额外的不需要的东西,如秒和AM / PM。无论如何只是以军事格式获得时间?

2 个答案:

答案 0 :(得分:1)

嗯,我尝试了你的代码,只要我收到提示,我就可以设置时间。你确定它不会在你的代码中的某个地方重置吗?

只是为了确定,你可以在结束后立即放置这样的东西:

msgbox(internal_Time)

要将时间作为军事时间返回,不使用AM / PM,请使用:

internal_Time = FormatDatetime(CDate(value), 4)

答案 1 :(得分:0)

可能是你的病情 如果internal_isTurnedOn和Right(LCase(internal_CurrentUser),8)=“lastname”将返回false总是 chk你的状况