VB6中的日期字符串是否与机器文化相关?

use*_*813 6 vb6 culture datetime

我有一个遗留的VB6应用程序,其中包含以下代码:

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

[...]

LblStDate = Date
Run Code Online (Sandbox Code Playgroud)

这使标签LblStDate显示当前日期.在我的机器上,标签最终显示"27/08/2011"(即dd/mm/yyyy).是否有可能标签在另一种文化的机器上看起来不同(例如,显示"2011/08/27")?

Dea*_*nna 5

是的,VB6进行隐式类型转换,因此在您的情况下,它使用用户的语言环境和区域设置将Date类型转换为String.不要依赖于使用的给定格式,并且一旦将日期/时间转换为字符串,您就不应该将它们转换回来(除非在受控情况下).

您可以使用显式CStr(Date)调用获得相同的结果.