【问题标题】:how can I match an day integer to AbbreviatedDayNames如何将日期整数与 AbbreviatedDayNames 匹配
【发布时间】:2021-11-04 09:16:35
【问题描述】:

我有以下函数,它返回一周中短日期名称的列表。

        public static string[] GetDayNames(string cultureCode)
    {
        var culture = CultureInfo.CreateSpecificCulture(cultureCode);
        string[] names = culture.DateTimeFormat.AbbreviatedDayNames;
        return names;
    }

我现在需要将特定日期日期(整数值)与正确的 AbbreviatedDayName 匹配,我该怎么做?

【问题讨论】:

  • 你可以使用System.DayOfWeek枚举吗?
  • 等等!无论月份和年份如何,您是否希望一天整数具有一周中的特定日期?
  • 这个整数值代表什么?请澄清您的问题。

标签: c# datetime


【解决方案1】:

这样做的唯一方法是将日期转换为日期时间,然后获取 AbbreviatedDayName:

var ab = culture.DateTimeFormat.AbbreviatedDayNames[((int)dt.DayOfWeek)];

或者干脆

var ab =  dt.ToString("ddd", culture);

【讨论】:

  • 我最终改为这样做了.... public static string GetLocalizedDayName(stringcultureCode, DateTime dateValue) { return dateValue.ToString("ddd", new CultureInfo(cultureCode)).ToUpper(); }
【解决方案2】:

我现在需要将特定日期日期(整数值)与正确的 AbbreviatedDayName 匹配,我该怎么做?

这是不可能的。并非每个月的每个 1st 都是一周中的同一天。您需要观察整个日期(年、月天),然后才能确定它是星期几。

【讨论】:

    猜你喜欢
    • 2012-02-08
    • 2020-01-21
    • 1970-01-01
    • 2023-03-31
    • 2019-04-27
    • 1970-01-01
    • 2013-07-14
    • 2021-08-29
    • 2018-04-29
    相关资源
    最近更新 更多