Строки даты в VB6 относятся к машинной культуре?

У меня есть устаревшее приложение VB6, которое содержит этот код:

Begin VB.Label LblStDate 
            Alignment       =   1   'Right Justify
            AutoSize        =   -1  'True
            [Blah blah blah....]
            Top             =   0
            Width           =   75
End

[...]

LblStDate = Date

Это делает ярлык LblStDate отобразить текущую дату. На моей машине на этикетке отображается что-то вроде "27/08/2011" (то есть дд / мм / гггг). Возможно ли, что ярлык на машине будет отличаться от другой культуры (например, отображать "2011/08/27")?

1 ответ

Решение

Да, VB6 выполняет неявное преобразование типов, поэтому в вашем случае это преобразование типа Date в String с использованием языкового стандарта пользователя и региональных настроек. Никогда не полагайтесь на то, что данный формат используется, и когда даты / время конвертируются в строку, вам не следует конвертировать их обратно (если только в контролируемых обстоятельствах).

Вы можете получить тот же результат, используя явный CStr(Date) вызов.

Другие вопросы по тегам