Oracle 根据浏览器文化返回日期时间格式

Posted

技术标签:

【中文标题】Oracle 根据浏览器文化返回日期时间格式【英文标题】:Oracle returns datetime format according by browser culture 【发布时间】:2014-01-15 11:06:31 【问题描述】:

Oracle 根据客户端使用的浏览器文化返回日期时间格式。例如,在 oracle 中检索 sysdate 上的月份时,如果我的浏览器文化是 en-US 返回一月,如果 tr-TR 是返回 Ocak 但我想出现它只有土耳其语。我对我的代码进行了一些更改,如下所示,但在某些情况下我遇到了错误。

DateTime.ParseExact("Ocak", "MMMM", CultureInfo.CurrentUICulture).ToString("MMMM", new CultureInfo("tr-TR"));

我可以根据上面的示例得到错误。因为 CultureInfo.CurrentUICulture 和浏览器文化不一样。January 不等于每个土耳其月份的值。

【问题讨论】:

【参考方案1】:

您可以检查您的CurrentUICultureInvariantCulture(基于en-US)还是不喜欢;

if(CultureInfo.CurrentUICulture == CultureInfo.InvariantCulture)

     var month = DateTime.ParseExact("January", "MMMM", CultureInfo.InvariantCulture);
     Console.WriteLine(month.ToString("MMMM", new CultureInfo("tr-TR"))); //ocak

else if(CultureInfo.CurrentUICulture == new CultureInfo("tr-TR"))

     var month = DateTime.ParseExact("Ocak", "MMMM", new CultureInfo("tr-TR"));
     Console.WriteLine(month); //ocak

else

     //

【讨论】:

感谢我将在几分钟内尝试。您的解决方案似乎正确。【参考方案2】:

在 web.config 中添加全球化标签

<globalization uiCulture="es" culture="es-MX" />

Read more here

【讨论】:

嗨 gokul 感谢您的回复。我在 web.config 文件中尝试了这个标签,但它不起作用。对于这种情况,我想在检索数据库时更改值。【参考方案3】:

在 Web.config 中添加 &lt;globalization /&gt; 标记。检查此LINK,这将对您有所帮助。

【讨论】:

【参考方案4】:
TO_CHAR (sysdate, 'Month', 'NLS_DATE_LANGUAGE = TURKISH')

你可以在sql里面使用这段代码

【讨论】:

以上是关于Oracle 根据浏览器文化返回日期时间格式的主要内容,如果未能解决你的问题,请参考以下文章

根据文化显示正确的日期格式

返回一个文化格式化日期的数组 C# MVC3

Asp.net 日期时间文化问题

如何修改 Blazor(服务器)中的当前文化日期格式?

c#日期时间格式

Oracle 根据返回不一致结果的年份选择日期