【问题标题】:How to parse string into specific format of date time in c#如何在c#中将字符串解析为特定格式的日期时间
【发布时间】:2014-03-31 23:20:47
【问题描述】:

我在 c# 中有一个包含日期时间值的字符串。现在根据我的要求,我必须将此字符串解析为 Datetime,因为我的 mysql 数据库表包含这样的列名..

`call_time` datetime NOT NULL,

这是我的字符串日期时间值

String datetime="11/02 05:01";

现在根据我的要求,我必须将此字符串解析为 mysql 字段的日期时间数据类型。

请帮帮我。

【问题讨论】:

  • @GrantWinney 2 月 11 日,时间是 hh:mm
  • @Pranav 如果现在是下午 5 点 11 分呢?
  • @Pranav 如果时间是 2014 年 11 月 2 日下午 5:01,输出会是什么。

标签: c# mysql string parsing datetime


【解决方案1】:

您可以将日期的字符串表示形式解析为实际的DateTime,如下所示:

var date = DateTime.ParseExact(datetime, "dd/MM HH:mm", CultureInfo.InvariantCulture)

它假定年份是当前年份,因为没有提供该年份,并将小时视为 24 小时,因为您没有 AM/PM。你会得到这样的东西:

2/11/2014 5:01:00 AM

【讨论】:

  • 解析 11/02 05:01 时该字符串的输出是什么
【解决方案2】:

如果不定义日期格式,将字符串转换为日期时间太难了。以下示例将采用当前年份作为结果

CultureInfo culture = CultureInfo.InvariantCulture;
string dtFormat = "dd/MM HH:mm";
String datetime="11/02 05:01";
DateTime dtDate = DateTime.ParseExact(datetime, dtFormat, culture);

【讨论】:

    【解决方案3】:

    在c#中

    var date = DateTime.ParseExact(datetime, "dd/MM HH:mm", CultureInfo.InvariantCulture)
    

    【讨论】:

    • 格式为 dd/mm hh:mm
    【解决方案4】:

    试试下面的代码:

    DateTime dt = DateTime.ParseExact(your_date, "dd/MM HH:mm" , CultureInfo.InvariantCulture);
    

    这将根据您的要求将您的字符串转换为日期时间格式。

    【讨论】:

    • 嗨,shruti,您应该阅读问题中的 cmets。日期格式为 dd/MM hh:mm。
    【解决方案5】:

    试试这个:

    String datetime="11/02 05:01";
    DateTime dt =  DateTime.ParseExact(datetime, "dd/MM HH:mm", CultureInfo.InvariantCulture);
    

    DateTime.ParseExact 使用指定的格式和特定​​于区域性的格式信息将日期和时间的指定字符串表示形式转换为其 DateTime 等效项。字符串表示的格式必须与指定的格式完全匹配。

    语法:

    public static DateTime ParseExact(
        string s,
        string format,
        IFormatProvider provider
    )
    

    阅读更多here

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-07
      • 1970-01-01
      • 2017-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多