Почему это всегда дает мне текущее время - PullRequest
0 голосов
/ 16 августа 2011
    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 ]

1 голос
/ 16 августа 2011

Хммм, я попробовал твой код и, пока получил подсказку, я мог установить время.Вы уверены, что он не будет сброшен где-то позже в вашем коде?

Просто чтобы быть уверенным, вы можете поместить что-то подобное сразу после окончания, если:

msgbox(internal_Time)

Чтобы вернуть время какпросто военное время, без AM / PM, используйте это:

internal_Time = FormatDatetime(CDate(value), 4)
0 голосов
/ 16 августа 2011

вероятно ваше состояние Если internal_isTurnedOn And Right (LCase (internal_CurrentUser), 8) = "lastname" будет всегда возвращать false чк ваше состояние

...