【问题标题】:How to convert string "00:05:06,607" to DateTime?如何将字符串“00:05:06,607”转换为日期时间?
【发布时间】:2016-10-17 10:09:41
【问题描述】:
var time = "00:05:06,607";
string pattern = "hh:mm:ss,fff";
DateTime.TryParseExact(time, pattern, null, DateTimeStyles.None, out parsedTime);

但是TryParseExact 函数返回给我false。我还尝试了TryParse 函数,例如:

DateTime.TryParse(time, out parsedTime);

在我将时间更改为 "00:05:06.607" 之前也返回 false。但我的来源日期有很多行,例如"hh:mm:ss,fff"

有人可以帮忙吗?

这是github上的完整项目 https://github.com/DeronLee/PhoneBook/blob/master/subtitle/MakeSubtitle.cs

【问题讨论】:

  • 让我清楚你想要时间跨度或日期时间
  • 在我的机器上工作 and on dotnetfiddle。请提供minimal reproducible example
  • 也为我工作。尝试使用 InvariantCulture
  • @JagadeeshGovindaraj 有什么区别?我用这个来控制字幕
  • @Heinzi 抱歉。对不起,我是 C# 的新手。我读过它并且知道什么是最小、完整和可验证的示例。它可以帮助我找出我遇到的问题。谢谢

标签: c# string winforms datetime tryparse


【解决方案1】:

试试这个

DateTime dateTime = DateTime.ParseExact(time, pattern ,CultureInfo.InvariantCulture);

【讨论】:

  • 谢谢。我试图找出这个参数有什么区别
【解决方案2】:

我的文件中的源数据是一个中文字幕文件。我想也许它使用了中文逗号而不是逗号,所以这就是为什么我的代码不起作用但你的代码。

好的。 终于。不是逗号。 空间。我必须先使用 trim() 。 添加修剪功能后效果很好

【讨论】:

    猜你喜欢
    • 2019-09-27
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    相关资源
    最近更新 更多