在服务器端获取日期格式
本文关键字:格式 取日期 获取 服务器端 | 更新日期: 2023-09-27 18:37:08
我有一个在Windows机器上运行的C# Web服务,我有以下代码:
Details = tInfoRequestHistory.Select(i => new AppJsonDetails
{
Type = i.PlatformUserId == null ? "Request" : "Response",
Date = i.Date.ToString("D"),
Time = i.Date.ToString("hh:mm tt"),
Text = i.Comment,
}).ToArray()
我在我的应用程序中收到这个 JSON:
{
Date = "lunes, 12 de enero de 2015";
Text = "402''nGarcia''n01/12/15 12:52 ''nBla bla";
Time = "11:52 ";
Type = Request;
}
如您所见,我在此指令生成的节点"Time"中缺少PM/AM(实际上有一个空格) i.Date.ToString("hh:mm tt")
如果我在我的开发机器中执行我的代码,一切正常。
我正在使用 Windows Server 2012 和最后一个 IIS 8.0,我刚刚更改了服务器的区域设置以匹配我的开发计算机,所以我正在读取服务器时钟"12:00 PM"
我确定这是我在服务器或 IIS 或 Web.config 中缺少的一些配置。
任何帮助或想法将不胜感激。
好吧,因为你使用没有任何IFormatProvider
的DateTime.ToString()
,听起来你的CurrentCulture
的AMDesignator
或/和PMDesignator
属性是空字符串。
我建议将InvariantCulture
用作IFormatProvider
;
i.Date.ToString("hh:mm tt", CultureInfo.InvariantCulture);
或者更改在 Windows 计算机区域设置中具有非空AMDesignator
和PMDesignator
属性的当前区域性。