【问题标题】:Possible to convert string date to mysql DateTime?可以将字符串日期转换为mysql DateTime吗?
【发布时间】:2015-03-19 07:16:05
【问题描述】:

我正在开发一个程序,该程序从目录中获取文件名列表,然后将文件名解析为单个变量(字符串)并将其转换为可以提交到 mysql 数据库的东西,该数据库稍后将排队用于搜索。

在这些文件名中,包含 4 位数的年份、2 位数的日期、2 位数的月份、2 位数的小时和 4 位数的分钟 (##AM/PM),后跟 2 个可以介于 3 到 11 位数之间的数字。

我已解析文件名并将日期和时间信息格式化为以下字符串:YYYY/DD/MM HH:MMAM 或 YYYY/DD/MM HH:MMPM(只有“AM”和“PM”在分钟内发生变化) .

前: 2014/24/12 02:50PM

如何将字符串转换为 DateTime 以提交到 MySql 数据库。

【问题讨论】:

    标签: c# mysql string datetime


    【解决方案1】:

    内置的STR_TO_DATE() 函数可以满足您的需要。

    STR_TO_DATE('2014/24/12 02:50PM', '%Y/%d/%m %h:%i%p') 
    

    给出你需要的结果。你可以查一下format codes here

    【讨论】:

      【解决方案2】:

      使用 DateTime.ParseExact 可以将其放入 .net 的 DateTime 对象中:

              string s = "2014/24/12 02:50PM";
              DateTime dt;
              DateTime.TryParseExact(s, "yyyy/dd/MM hh:mmtt", new CultureInfo("en-US"), DateTimeStyles.None, out dt) ;
              Console.WriteLine(dt.ToString());
      

      【讨论】:

      • 当我将dt提交到数据库时,它提交为:0000-00-00 00:00:00
      • 您的 mySQL 数据库接受的日期格式是什么?您可以在 ToString 方法的参数中根据需要进行转换,例如:dt.ToString("yyyy-MM-dd HH:mm")
      猜你喜欢
      • 2016-01-10
      • 2011-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-04
      • 2018-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多