You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何将DateTimePicker日期转换为指定格式字符串?

在C#中将德语格式日期转换为指定字符串格式

要将德语格式的日期字符串(如Mittwoch, 21. Januar 2024)转换为dd.MM.yyyy格式的字符串,只需两步:解析德语日期和格式化目标字符串,具体实现如下:

1. 解析德语日期字符串

由于输入是德语格式的日期,需要使用德语区域文化(de-DE)来识别日期中的德语元素(比如德语月份名、星期名)。推荐使用DateTime.TryParse方法,避免格式错误时抛出异常。

2. 格式化为目标格式

解析得到DateTime对象后,通过ToString方法传入格式字符串"dd.MM.yyyy",即可生成日、月、年均为两位数字的输出格式。

完整代码示例

using System;
using System.Globalization;

public class DateConversionExample
{
    public static void Main()
    {
        // 示例德语格式日期(实际输入可能包含德语星期/月份)
        string inputDate = "Wednesday, 21. January 2024";
        // 指定德语文化信息
        var germanCulture = new CultureInfo("de-DE");
        
        // 解析日期
        if (DateTime.TryParse(inputDate, germanCulture, DateTimeStyles.None, out DateTime parsedDate))
        {
            // 格式化为"dd.MM.yyyy"格式,使用InvariantCulture确保格式稳定
            string outputDate = parsedDate.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture);
            Console.WriteLine(outputDate); // 输出:21.01.2024
        }
        else
        {
            Console.WriteLine("无法解析输入的日期格式");
        }
    }
}

注意事项

  • 如果输入的日期字符串包含德语本地化内容(如Mittwoch(星期三)、Januar(一月)),de-DE文化会自动识别,无需额外处理。
  • 使用CultureInfo.InvariantCulture进行格式化,能保证输出不受当前线程的区域设置影响,始终生成两位数字的日和月。
  • 若需要严格匹配输入格式,可以使用DateTime.TryParseExact指定精确格式,例如:
    // 精确匹配"星期, 日. 月 年"的格式
    string inputFormat = "dddd, dd. MMMM yyyy";
    if (DateTime.TryParseExact(inputDate, inputFormat, germanCulture, DateTimeStyles.None, out DateTime parsedDate))
    {
        string outputDate = parsedDate.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture);
    }
    

内容的提问来源于stack exchange,提问作者Laurin Theisen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 21:55:10