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

如何在C#中拼接字符串生成带毫秒的DateTime实例?

在C#中拼接字符串生成带高精度毫秒的DateTime值

问题根源

你直接拼接得到的字符串"03-10-2022 15:20:10024.45"不符合.NET DateTime的标准解析规则:

  • DateTime的毫秒位仅支持0-999的整数,而你的10024.45是总毫秒数(包含秒级的时间量),不是单纯的毫秒位。
  • 标准的高精度时间格式应为"dd-MM-yyyy HH:mm:ss.ffffff"(秒后接毫秒/微秒),你的格式缺少秒位,直接在分钟后追加超大数值,导致解析失败。

可行解决方案

方案1:直接计算时间增量(推荐)

无需强行拼接字符串,先解析基础时间,再把毫秒数值转换成时间增量加到基础时间上:

using System;
using System.Globalization;

class Example
{
    static void Main()
    {
        string a = "03-10-2022 15:20";
        string b = "10024.45";
        
        // 解析基础日期时间(指定格式避免文化差异)
        DateTime baseTime = DateTime.ParseExact(a, "dd-MM-yyyy HH:mm", CultureInfo.InvariantCulture);
        // 解析总毫秒数(支持小数,对应微秒级精度)
        double totalMs = double.Parse(b, CultureInfo.InvariantCulture);
        // 生成最终DateTime
        DateTime finalTime = baseTime.AddMilliseconds(totalMs);
        
        // 输出验证(显示到微秒)
        Console.WriteLine(finalTime.ToString("dd-MM-yyyy HH:mm:ss.ffffff", CultureInfo.InvariantCulture));
        // 输出结果:03-10-2022 15:20:10.024450
    }
}

方案2:拼接成标准格式字符串再解析

如果坚持要通过拼接字符串实现,需先把总毫秒数转换成秒.微秒的格式,再拼接后解析:

using System;
using System.Globalization;

class Example
{
    static void Main()
    {
        string a = "03-10-2022 15:20";
        string b = "10024.45";
        
        double totalMs = double.Parse(b, CultureInfo.InvariantCulture);
        TimeSpan timeSpan = TimeSpan.FromMilliseconds(totalMs);
        
        // 拼接成标准格式:基础时间 + 秒.微秒
        string formattedTime = $"{a}:{timeSpan.Seconds}.{(timeSpan.Milliseconds * 1000 + timeSpan.Ticks % 10000) / 10}";
        
        // 解析拼接后的字符串
        DateTime finalTime = DateTime.ParseExact(formattedTime, "dd-MM-yyyy HH:mm:ss.ffffff", CultureInfo.InvariantCulture);
        
        Console.WriteLine(finalTime.ToString("dd-MM-yyyy HH:mm:ss.ffffff", CultureInfo.InvariantCulture));
    }
}

关键说明

不存在“完全不用日期时间函数创建DateTime”的可能:

  • DateTime是值类型,必须通过其构造函数或解析方法实例化,这些都属于日期时间相关操作。
  • 你的需求本质是将“基础时间+总毫秒增量”转换成DateTime,核心是处理时间增量,而非单纯的字符串拼接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 10:01:08