【问题标题】:input string was not in a correct format date time c#输入字符串的格式不正确日期时间c#
【发布时间】:2021-07-01 07:11:09
【问题描述】:

我从 URL 中获取日期时间作为字符串并将其转换为日期时间格式

我得到了这个异常

输入的字符串格式不正确

这是我尝试过的代码

string time = expiredorno;
var result = Convert.ToDateTime(time);
string timeleft = result.ToString("dd/MM/yyyy HH:mm:ss tt", CultureInfo.CurrentCulture);

注意:在代码中变量“expiredorno”的值为“2021/05/03 14:54:14 PM”

【问题讨论】:

  • 我们需要查看时间字符串的值,因为问题出在那个。
  • @Cleptus,这不是我添加评论的时候。
  • 你可以尝试用DateTime.ParseExact解析字符串

标签: c# date


【解决方案1】:

在默认文化设置下,输入字符串格式可能无效。您可以设置此处指定的转换方法的文化:

https://docs.microsoft.com/en-us/dotnet/api/system.convert.todatetime?view=net-5.0#System_Convert_ToDateTime_System_String_

CultureInfo culture = new CultureInfo("en-US");
Convert.ToDateTime(time, culture);

【讨论】:

    【解决方案2】:
    string time = "2021/05/03 14:54:14 PM";
    var result = Convert.ToDateTime(time, CultureInfo.InvariantCulture);
    string timeleft = result.ToString("dd/MM/yyyy HH:mm:ss tt", CultureInfo.InvariantCulture);
    

    我们可以尝试添加 CultureInfo.InvariantCulture。 我们可以使用 DateTime Struct (System) | 中的一种正确解析方法。微软文档https://docs.microsoft.com/en-us/dotnet/api/system.datetime?view=netframework-4.7.2

    【讨论】:

      猜你喜欢
      • 2013-06-03
      • 1970-01-01
      • 2021-11-24
      • 2016-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多