在服务器端获取日期格式

本文关键字:格式 取日期 获取 服务器端 | 更新日期: 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 中缺少的一些配置。

任何帮助或想法将不胜感激。

在服务器端获取日期格式

好吧,因为你使用没有任何IFormatProviderDateTime.ToString(),听起来你的CurrentCultureAMDesignator或/和PMDesignator属性是空字符串。

我建议将InvariantCulture用作IFormatProvider;

i.Date.ToString("hh:mm tt", CultureInfo.InvariantCulture);

或者更改在 Windows 计算机区域设置中具有非空AMDesignatorPMDesignator属性的当前区域性。