2012-03-27 8 views
0

テーブル内で、any1は指定された行を選択し、指定した列のTimeデータを取得し、そのデータをTimeSpanに入れますか?テーブルからTimeデータを抽出し、TimeSpanに配置

DataRow[] selectIDRow = RetailCamDataSet1.Tables["smBranchWorkingDayInfo"].Select("ID=" + ID); 
foreach (DataRow row in getTimeDifference) 
{ 
    TimeSpan startTime = new TimeSpan(); //Need to put the data into the bracket instead of using hard code 

    TimeSpan endTime = new TimeSpan(20, 00, 00); //Hard coded 
    TimeSpan timeDifference = new TimeSpan(); 

    timeDifference = endTime.Subtract(startTime); 

    double minutes = timeDifference.TotalMinutes; 

    normalCount = minutes/15; 
+0

指定した列の時刻データはどのような形式ですか? –

+0

時間:分:秒 hh:mm:ss – hakunabean

答えて

1

TimeSpan.Parse()を試しましたか?

DataRow[] selectIDRow = RetailCamDataSet1.Tables["smBranchWorkingDayInfo"].Select("ID=" + ID); 
    foreach (DataRow row in getTimeDifference) 
    { 
     DateTime dateTime = DateTime.Parse(row["DateTimeColumn"].ToString()); 
     TimeSpan timeSpan = TimeSpan.Parse(dateTime.ToString("hh:mm:ss")); 
     ... //do whatever you want to do with timeSpan 
    } 
+0

はい、私はTimeSpan.Parse()を使用しています。ここに私のコードnは動作します! :) – hakunabean

+0

Thxのur情報は、将来も参照として使用することができます。 – hakunabean

1

あなたが時間列のテキストが十分にフォーマットされていることを確認している場合は、あなたが)はい、私は(TimeSpan.Parseを使用してTimeSpan.Parse()

TimeSpan startTime = TimeSpan.Parse(row["time"].ToString()); 
+0

あなたの情報を確認してください。 – hakunabean

0

を使用することができます。ここに私のコードがあり、それは動作します! :)

foreach (DataRow row in RetailCamDataSet1.Tables["smBranchWorkingDayInfo"].Select("ID=" + convertedBranchID)) 
       { 
        var sTime = DateTime.Parse(row["SunFromTime"].ToString()); 
        int sHour = sTime.Hour, 
         sMinute = sTime.Minute, 
         sSecond = sTime.Second; 

        var eTime = DateTime.Parse(row["SunToTime"].ToString()); 
        int eHour = eTime.Hour, 
         eMinute = eTime.Minute, 
         eSecond = eTime.Second; 

        TimeSpan startTime = new TimeSpan(sHour, sMinute, sSecond); 
        TimeSpan endTime = new TimeSpan(eHour, eMinute, eSecond); 
        TimeSpan timeDifference = new TimeSpan(); 

        timeDifference = endTime.Subtract(startTime); 

        double minutes = timeDifference.TotalMinutes; 

        normalCount = minutes/15; 
関連する問題