我正在尝试将DateTime
格式设置为24小时。最初我有一个12小时代表的字符串。我找到的所有解决方案都是将DateTime
转换为字符串。
string dateString = "Mon 16 Jun 8:30 AM 2008"; // <-- Valid
string format = "dd/MM/yyyy HH:mm";
DateTime dateTime;
if (DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture,
DateTimeStyles.RoundtripKind, out dateTime))
{
DateTime dateIn24 = dateTime;// dateIn24 should be in 24 hour format
}
我们可以在web.config
中做些什么吗?如下所示:
<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="en-GB" uiCulture="en-GB"/>
我得到了答案
Thread.CurrentThread.CurrentCulture = new CultureInfo(“en-GB”); 如果它是en-US 12小时格式 默认情况下,它将基于系统日期时间设置进行en-US
答案 0 :(得分:2)
DateTime 实例仅包含信息, Hour 属性是0到23之间的整数,根据MSDN文档:
物业价值
输入:System.Int32
小时组件,表示为0到23之间的值。
https://msdn.microsoft.com/library/system.datetime.hour(v=vs.110).aspx
如果您正在谈论格式化,那么您需要将其转换为字符串,如评论中所述。
答案 1 :(得分:0)
据我所知,24小时格式既不是DateTime
如何解析也不是保存,而是格式化。假设您输入if
- 块(我在LinqPad中解析您dateString
时没有成功),您可以使用
var dateStringWith24Hours = dateTime.ToString(dateString);
因为格式字符串中的HH
表示您希望将小时格式设置为24小时。