2017-10-10 59 views
-3

所以我想從.NET代碼轉換爲C# 下面的代碼:日期時間到C#

While getReader.Read 

     ' getting the time in and time out 12 hour format 
     time_in = (getReader.Item("time_in").ToString) 
     time_out = (getReader.Item("time_out").ToString) 

     With Listview1.Items.Add(getReader.Item("worker_fullname").ToString) 

      .SubItems.Add(Format(time_in, "h:mm:ss tt")) 
      .SubItems.Add(Format(time_out, "h:mm:ss tt")) 
      .SubItems.Add(Format(getReader.Item("date"), "MMM dd, yyyy")) 

     End With 

    End While 

在線代碼轉換不會幫我。我在(getReader.Item("time_in").ToString)有困難。我試過DateTime.TryParseExact(getReader[3], "h:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out time_in);,但它說它不能從對象轉換爲字符串。 而在EndEnd With中,似乎C#沒有用於此的等效語言結構。

+0

你也應該顯示你的c#代碼。 – Rotem

+4

溝「代碼轉換器」。你想讓你的C#代碼做*做什麼?你希望實現什麼功能?你寫了什麼代碼來實現該功能?它以何種方式無法按預期工作? – David

+1

'time_in','time_out'字段的時間是多少?如果它是'DateTime'你不需要也不應該轉換或解析任何東西。只需將值轉換爲DateTime即可。這也應該在VB.NET代碼中完成。它實際上是一個*錯誤*使用字符串,而不是日期 –

回答

0

呼叫ToString()

DateTime.TryParseExact(getReader[3].ToString(), "h:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out time_in); 
0
while (reader.Read()) 
{ 
    var timeIn = reader["time_in"].ToString(); 
    var timeOut = reader["time_out"].ToString(); 
    var workerFullName = reader["worker_fullname"].ToString(); 
    var date = reader["date"].ToString(); 

    //move to utility method 
    DateTime timeInDateTime; 
    DateTime.TryParseExact(timeIn, "h:mm:ss tt", null, DateTimeStyles.None, out timeInDateTime); 

    DateTime timeOutDateTime; 
    DateTime.TryParseExact(timeOut, "h:mm:ss tt", null, DateTimeStyles.None, out timeOutDateTime); 

    DateTime dateParsed; 
    DateTime.TryParseExact(date, "MMM dd, yyyy", null, DateTimeStyles.None, out dateParsed); 

    //add to list 
} 
0

WITH ...結束與沒有在C#中等價(不管我多麼喜歡它)。 一個具有將它分配給一個局部變量,例如:

... 
var item = Listview1.Items.Add(getReader.Item("worker_fullname").ToString); 
item.SubItems.Add($"{time_in, "h:mm:ss tt")) 
... 

作爲用於從讀取器獲取數據這取決於如何存儲在存儲裝置(數據庫)的那些數據。在你的情況我guessc要麼getReader.GetString(3)或getReader.GetDateTime(3)

0

試試這個

(getReader.Item("time_in").Value.ToString) 
0

您可以使用此

的DateTime DT = DateTime.parse(讀卡器[」 time_in「]。toString(」MM/dd/yyyy hh:mm:ss tt「));