ToShortTimeString 24 小时渲染

Posted

技术标签:

【中文标题】ToShortTimeString 24 小时渲染【英文标题】:ToShortTimeString Rendering 24 Hour 【发布时间】:2014-03-11 16:24:39 【问题描述】:

我有一个问题,在我的本地机器上运行代码和服务器呈现 2 个不同的结果。

我调用的代码是:

Dim t as DateTime = Date.Now
t.ToShortTimeString

在服务器上呈现为:

14:32

在我的本地机器上它呈现为

2:32 PM(这是我们想要的)

它们都使用英语作为语言环境进行设置。我应该检查机器上的任何其他设置以了解可能出现的问题吗?

这是服务器语言信息。它表明 Short Time 应该像我期望的那样显示

【问题讨论】:

英语,好的,但是....什么英语?在美国英语 (en-us) 中,DateTimeFormat.ShortTimePattern 为 h:mm tt,在英国英语 (en-gb) 中为 HH:mm。也许本地和服务器中的文化以这种方式不同?如果您需要始终以这种格式显示时间,为什么不使用DateTime.Now.ToString("hh:mm tt") @frikinside 截图显示是英文美国 天啊!你说得对!我瞎了!很抱歉,无论如何,您能检查一下CultureInfo.CurrentCultureCultureInfo.CurrentUICulture 在应用程序的执行中是否正确吗? 【参考方案1】:

Windows 的区域和语言设置因用户而异。您需要确定运行网站的用户帐户并检查该用户的设置。

如有必要,您可以使用管理标签复制系统帐户的设置。 This article 详细描述了如何做到这一点。

不过,正如其他人所提到的,如果您总是希望以特定方式格式化时间,则不应使用 ToShortTimeString 方法。您应该使用 ToString 方法的覆盖之一来强制使用您想要的确切格式,例如:

t.ToString("hh:mm tt")    

【讨论】:

以上是关于ToShortTimeString 24 小时渲染的主要内容,如果未能解决你的问题,请参考以下文章

C#把datetime类型的日期转化成年月日或其他格式方法总结

C#把datetime类型的日期转化成年月日或其他格式方法总结

c#dataset转换为list时,其中一个表中有一列是数据是datetime类型,我只想要小时分秒,不要日期,怎么弄呢

[12小时Javascript Clock显示24时间,错误的AM / PM

maya 总是渲染失败。。。

OpenGL 在渲染帧之前崩溃 - VBO