gpt4 book ai didi

.net - 如何显示带有所选日期部分的 DateTime,但按 FormatProvider 的顺序显示?

转载 作者:行者123 更新时间:2023-12-01 05:45:33 24 4
gpt4 key购买 nike

我想按照文化提供的顺序显示日期,但只显示我想要的元素。

DateTime.Tostring() 方法有 a list of patterns that are very useful但我想要一个很小的改变。

以下代码中使用的 CultureInfo 作为示例,我不想依赖特定的 CultureInfo 列表,如果可能的话

var now = DateTime.Now;

string nowString = now.ToString("m", CultureInfo.GetCultureInfo("en-us"));
Console.WriteLine(nowString);

nowString = now.ToString("m", CultureInfo.GetCultureInfo("fr-FR"));
Console.WriteLine(nowString);

显示:

April 12
12 avril



我想要一个显示月份和日期缩写的模式,但要保持指定 CultureInfo 的正确顺序。
使用模式 “MMM dd ”将始终首先显示月份的缩写,然后是日期,例如打破法国订单。

有什么方法可以在没有太多自定义代码的情况下实现这一目标?

最佳答案

显然,微软“accepts”的日期格式如下:

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15);

Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 août

所以不要认为框架为你的案例预览了一些东西。

您需要找到一个 解决方法 像这样:
private string GetCultureMonthDay(CultureInfo culture, DateTime date)
{
return string.Format(culture, "{0:" +
culture.DateTimeFormat.MonthDayPattern.Replace("MMMM", "MMM") + "}", date);
}

用法:
?Console.WriteLine(GetCultureMonthDay(CultureInfo.GetCultureInfo("fr-FR"), now));
12 avr.

?Console.WriteLine(GetCultureMonthDay(CultureInfo.GetCultureInfo("en-US"), now));
Apr 12

关于.net - 如何显示带有所选日期部分的 DateTime,但按 FormatProvider 的顺序显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2621928/

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