c# 中意大利语的星期几名称

问题描述 投票:0回答:3

我无法使用 c# 在我的 aspx 页面中提取意大利语中的星期几名称。

我已经尝试过这个解决方案,但在周五的输出中,出了什么问题?

DateTime ItalianJobCookie = DateTime.Parse(Request.Cookies["ItalianJob"].Value);
string ItalianJobCookieDayName = ItalianJobCookie.DayOfWeek.ToString("G", new CultureInfo("it-IT"));

Response.Write(ItalianJobCookieDayName.ToString());
c# dayofweek
3个回答
5
投票

DateTime.DayOfWeek
返回给定日期时间的
DayOfWeek
,但没有支持不同文化的
ToString
。这甚至被记录在案

DayOfWeek 枚举的成员未本地化。回来 星期几的本地化名称,调用 DateTime.ToString(String) 或 DateTime.ToString(String, IFormatProvider) 方法 具有“ddd”或“dddd”格式 字符串。前一个格式字符串生成缩写的工作日 姓名;后者产生完整的工作日名称。

而是与

DateTime

一起使用
string ItalianJobCookieDayName = ItalianJobCookie.ToString("dddd");

如果当前文化是意大利语,否则:

string ItalianJobCookieDayName = ItalianJobCookie.ToString("dddd", new CultureInfo("it-IT"));

如果您想要缩写的日期名称,请使用

ddd
而不是
dddd
更多信息


4
投票

DayOfWeek
是文化不变的。它总是返回基于英语的日期名称。

来自文档;

DayOfWeek 枚举的成员未本地化。返回 星期几的本地化名称,请调用 DateTime.ToString(String) 或 DateTime.ToString(String, IFormatProvider) 方法,格式为 "ddd""dddd" 字符串。前一个格式字符串生成缩写的工作日 姓名;后者产生完整的工作日名称。

您需要将

dddd
格式说明符
it-IT
文化一起使用。

string ItalianJobCookieDayName = ItalianJobCookie.ToString("dddd", new CultureInfo("it-IT"));

0
投票

有可能,替换这个:

string ItalianJobCookieDayName = 
ItalianJobCookie.DayOfWeek.ToString("G", new CultureInfo("it-IT"));

这样:

string ItalianJobCookieDayName = 
new CultureInfo("it-IT").DateTimeFormat.GetDayName(ItalianJobCookie.DayOfWeek);
© www.soinside.com 2019 - 2024. All rights reserved.