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

C#如何将DataTable中的指定日期字符串转换为目标格式?

日期格式转换问题解决方案

你的代码错误在于使用目标输出格式去解析原始日期字符串,DateTime.TryParseExact的第二个参数必须和原始字符串的格式完全匹配,而不是你最终想要的格式。

修正步骤:

  • 第一步:用和原始字符串匹配的格式解析成DateTime对象
  • 第二步:将解析后的DateTime对象转换为目标格式的字符串

修正后的代码:

using System;
using System.Globalization;

class DateConversionExample
{
    static void Main()
    {
        // 匹配原始日期字符串的格式
        string inputFormat = "M/d/yyyy h:mm:ss tt";
        string dateString = "3/29/2022 6:32:05 PM";
        DateTime dateValue;

        // 按原始格式解析日期
        if (DateTime.TryParseExact(dateString, inputFormat,
                                   CultureInfo.InvariantCulture,
                                   DateTimeStyles.None,
                                   out dateValue))
        {
            // 转换为目标格式"MMddyyyy"
            string formattedDate = dateValue.ToString("MMddyyyy");
            Console.WriteLine("转换结果:{0}", formattedDate); // 输出 03292022
        }
        else
        {
            Console.WriteLine("无法解析该日期字符串。");
        }
    }
}

关键说明:

  • inputFormat设置为"M/d/yyyy h:mm:ss tt":
    • M:适配单/双位月份(比如3或03)
    • d:适配单/双位日期(比如29或09)
    • yyyy:四位年份
    • h:12小时制的小时(1-12)
    • mm:两位分钟
    • ss:两位秒数
    • tt:AM/PM标识
  • 解析成功后,ToString("MMddyyyy")会强制生成两位月份+两位日期+四位年份的格式,不足两位的部分自动补0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 10:10:15