2011-12-06 4 views
6

Tengo una aplicación VB6 legado que contiene este código:¿Las cadenas de fecha en VB6 están relacionadas con el cultivo de la máquina?

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

[...] 

LblStDate = Date 

Esto hace que la pantalla etiquetada LblStDate la fecha actual. En mi máquina, la etiqueta termina mostrando algo así como "27/08/2011" (es decir, dd/mm/aaaa). ¿Es posible que la etiqueta se vea diferente en una máquina de otra cultura (por ejemplo, mostrando "2011/08/27")?

Respuesta

5

Sí, VB6 realiza la conversión de tipo implícita, por lo que en su caso se trata de convertir un tipo de fecha en una cadena utilizando la configuración regional y la configuración regional del usuario. Nunca confíes en que se use un formato dado y una vez que las fechas/horas se convierten en una cadena, no deberías convertirlas realmente (a menos que sea bajo circunstancias controladas).

Puede obtener el mismo resultado utilizando la llamada explícita CStr(Date).

Cuestiones relacionadas