2016-12-03 11 views
0

こんにちは、私はデータグリッドに移入したDateTimeピッカーを持って、あなたの時間のみDataGrid内

いただきありがとうございます。私が抱えている問題は、私は時間だけを望み、好ましい(軍事時間)です。私は試みました.ToString。TimeOfDayなど。コードの最後の行(今日、年、月)は問題だと思いますが、それを修正する方法はわかりません。

var start_time = dateTimePicker1.Text; 
var start_time_array = start_time.Split(':'); 
var today = DateTime.Now; 
var trailer_count = Convert.ToInt32(tbTrailer_Needed.Text); 
var minutes_apart = Convert.ToDouble(tbTime_Between.Text); 
var calculated_start_time = new DateTime(today.Year, today.Month, 
    today.Day, Convert.ToInt16(start_time_array[0]), 
    Convert.ToInt16(start_time_array[1]), 00); 
+0

は 'のToString(" HHを試してみてください。 ss ")' –

+0

これは私の最後のコード行にエラーを表示します。 – Booney440

+0

この回答を確認してくださいhttp://stackoverflow.com/questions/5593686/make-datetimepicker-work-as-timepicker-only-in-winforms –

答えて

0

これを試してみてください。今のところ、最初の嘘に誤りがあるかどうかをより明確にするために、別の行で文字列変換を行います。

var calculated_start_time = new DateTime(today.Year, today.Month, 
    today.Day, Convert.ToInt16(start_time_array[0]), 
    Convert.ToInt16(start_time_array[1]), 00); 
string time = calculated_start_time.ToString("HH:mm"); 

しかし、あなたが達成したいことは明確ではありません。私が正しく理解していれば、あなたが検討したいかもしれないオプションが以下にあります。 https://msdn.microsoft.com/en-us/library/ms229631.aspx

timePicker.Format = DateTimePickerFormat.Time; 

だけの時間を表示するように日時ピッカーを設定しそれから私は、次のように動作するはずだと思うが、私は今それをテスト傾けます。

string dateTimeYouWant = DateTime.Today.Add(DateFromTimePicker.TimeOfDay); 

DateFromTimePickerはすでに今日の日付に基づいている可能性もありますが、わかりません。

========

あなたが知る必要があること。

  1. dateTimePickerから値を取得するには、.Textではなく.Valueを使用する必要があります.ValueはDateTimeを返します。これは作業するものです。
  2. "今日"を取得するには、DateTime.Thayを使用し、DateTime.Nowを使用しないでください。 DateTime.Todayは分、時間などを0に設定します。
    1. 新しい場合は、varを使用しないで、実際のタイプを指定します。

は今、あなたは、このことによって、すべてそのコードを交換したいあなたの問題

var start_time = dateTimePicker1.Text; 
    var start_time_array = start_time.Split(':'); 
    var today = DateTime.Now;  
    var calculated_start_time = new DateTime(today.Year, today.Month, 
    today.Day, Convert.ToInt16(start_time_array[0]), 
    Convert.ToInt16(start_time_array[1]), 00); 

に影響を与えないそれらの2行を削除することができますあなたのコード

var start_time = dateTimePicker1.Text; 
    var start_time_array = start_time.Split(':'); 
    var today = DateTime.Now; 
    var trailer_count = Convert.ToInt32(tbTrailer_Needed.Text); 
    var minutes_apart = Convert.ToDouble(tbTime_Between.Text); 
    var calculated_start_time = new DateTime(today.Year, today.Month, 
    today.Day, Convert.ToInt16(start_time_array[0]), 
    Convert.ToInt16(start_time_array[1]), 00); 

を見てみましょう:

DateTime calculated_start_time = DateTime.Today.Add(dateTimePicker1.Value.TimeOfDay); 

そしてそれがさらに良いので、ユーザーが日付を選んだカント(フォームまたはプロパティエディタの初期化時に)あなたのDateTimePickerを設定するようにするだけの時間:MM:

dateTimePicker1.Format = DateTimePickerFormat.Time; 
dateTimePicker1.ShowUpDown = true; 
+0

はい時間を表示するだけですが、追加する行はわかりません。私はこれに新しいです。ありがとう – Booney440

+0

私はより多くの情報で私のポストを編集しました。 –

+0

.Value、.Todayを追加してTureに設定しました。それはまだ12/3/16 8:28をデータグリッドに返します。 – Booney440

0

使用dateTimePicker.ValueDateTime.TimeofDay

var calculated_start_time = DateTime.Today + dateTimePicker1.Value.TimeofDay; 
+0

.valueとTimeOfDayからのエラー – Booney440

+0

@ Booney440、どのようなエラーがありますか? –

+0

値は拡張方法なし、これは難しいことを理解しています。DataGridの時刻のみ – Booney440

関連する問題