Строки даты в VB6 относятся к машинной культуре? - PullRequest
6 голосов
/ 06 декабря 2011

У меня есть старое приложение 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 Ответ

5 голосов
/ 06 декабря 2011

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

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

...