2015-01-20 39 views
1

我正在從一個目錄中獲取文件名列表的程序,然後將文件名解析爲單個變量(字符串)並將其轉換爲可以提交給mysql數據庫的內容,稍後將排隊等候搜索。可能將字符串日期轉換爲mysql DateTime?

在那些文件名中包含4位數年份,2位數日,2位數月份,2位數小時和4位數分鐘(## AM/PM),後面跟着2個數字,可以是3到11位數字。

我已解析文件名並將日期和時間信息格式化爲以下字符串:YYYY/DD/MM HH:MMAM或YYYY/DD/MM HH:MMPM(僅「AM」和「PM」 )。

EX: 2014/24/12下午2點50分

我怎麼能轉換成字符串日期時間提交到MySQL數據庫。

回答

2

內置的STR_TO_DATE()功能可以滿足您的需求。

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

給出你需要的結果。您可以查看format codes here

1

使用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()); 
+0

當我提交DT到數據庫,它提出:0000-00-00 00:00:00 – Meta 2015-01-20 23:51:14

+0

你的mySQL數據庫接受的日期格式是什麼?你可以根據需要在ToString方法的參數中進行轉換,例如:'dt.ToString(「yyyy-MM-dd HH:mm」)' – denvercoder9 2015-01-21 00:23:48

相關問題