Wes*_*s P 1 .net vb.net datetime cultureinfo date-formatting
ToString的默认格式是否依赖于与服务器相关的任何内容?这是问题:我正在测试并在我的本地机器上测试了一个应用程序,默认情况下,ToString()以"MM/dd/yyyy hh:mm:ss tt"的格式返回,但是在我们的服务器上它似乎是以"dd/MM/yyyy hh:mm:ss tt"返回,这是消费应用程序不期望并导致错误的.
Dim uvExpireDate = DateTime.Now.AddMinutes(1)
Dim token = String.Format(fmtString, uvExpireDate.ToUniversalTime().ToString(), [various other params])
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
格式取决于服务器上定义的默认Culture.
如果您想要应用特定的文化,您需要使用一个重载来获取IFormatProvider
,或设置当前线程Culture
和UICulture
所需的文化.
InvariantCulture
是一种不代表特定文化但基于的文化en-US
,因此可能适合您的使用:
uvExpireDate.ToUniversalTime().ToString(CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)
所以,整条线路将是:
Dim token = String.Format(fmtString, _
uvExpireDate.ToUniversalTime().ToString(CultureInfo.InvariantCulture), _
[various other params])
Run Code Online (Sandbox Code Playgroud)