Строки даты в 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)
вызов.