gpt4 book ai didi

.net - 如何在没有工作日的情况下从 DateTime 获取长日期格式

转载 作者:行者123 更新时间:2023-12-03 13:30:12 24 4
gpt4 key购买 nike

我正在寻找一种在没有工作日的情况下获得长时间约会时间的区域感知方式。竟然有这样的野兽?

下面是我用来获取包括工作日在内的长日期格式的代码:

DateTime time = ...
String formattedDate = time.ToLongDateString();

编辑

我想看到的例子:
  • zh-cn:2009 年 12 月 5 日
  • FR-FR:2009 年 12 月 5 日
  • es-es: 05 de diciembre de 2009

  • ToLongDateString() 返回以下内容:
  • zh-cn:2009 年 12 月 5 日星期六
  • fr-fr:samedi 2009 年 12 月 5 日
  • es-es: sábado, 05 de diciembre de 2009
  • 最佳答案

    改进接受的答案,GetAllDateTimePatterns可以采用参数将结果限制为与标准格式字符串相关的模式,例如长日期模式的“D”。

    例如,GetAllDateTimePatterns('D')目前正在为 en-US 返回这个:

    "dddd, MMMM d, yyyy", "MMMM d, yyyy", "dddd, d MMMM, yyyy", "d MMMM, yyyy" 

    这对于 zh-HK:
    "yyyy'年'M'月'd'日'", "yyyy'年'MM'月'dd'日'", "yyyy年MMMd日", "yyyy年MMMd日, dddd"

    假设它们以某种偏好或流行顺序列出,我们可以选择第一个不包含星期几的选项。

    以下是扩展方法,因此您可以简单地使用 myDateTime.ToLongDateStringWithoutDayOfWeek()myDateTime.ToLongDateTimeStringWithoutDayOfWeek() .
    public static string ToLongDateStringWithoutDayOfWeek(this DateTime d)
    {
    return d.ToString(
    CultureInfo.CurrentCulture.DateTimeFormat.GetAllDateTimePatterns('D')
    .FirstOrDefault(a => !a.Contains("ddd") && !a.Contains("dddd"))
    ?? "D");
    }

    public static string ToLongDateTimeStringWithoutDayOfWeek(this DateTime d, bool includeSeconds = false)
    {
    char format = includeSeconds ? 'F' : 'f';
    return d.ToString(
    CultureInfo.CurrentCulture.DateTimeFormat.GetAllDateTimePatterns(format)
    .FirstOrDefault(a => !a.Contains("ddd") && !a.Contains("dddd"))
    ?? format.ToString());
    }

    关于.net - 如何在没有工作日的情况下从 DateTime 获取长日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1395022/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com