2016-12-18 4 views
0

私は少しのプログラムをやって、DateTimeDoubleに、ダブルをDateTimeに変換しようとしています。ダブルto DateTime

私はユーザーに変換する日付と時刻を選択させるためにC#でDateTimePickerを使用しました。これはうまく動作しますが、倍精度値をDateTimeに変換することにはほとんど問題ありません。

私は二重の値を持っていますが、私はこのようなものを使って日付に簡単に変換することができますvar dt = DateTime.FromOADate(doubleDate);var date = dt.Date;しかし、私はこのダブル値を時間に変換する方法は考えていません。

これは私のコードです:

private void button2_Click(object sender, EventArgs e) 
{ 
    var doubleDate = Convert.ToDouble(textBox1.Text); 
    var dt = DateTime.FromOADate(doubleDate); 
    var date = dt.Date; 
    this.dateDateTime.Value = date; 
} 

値の例:あなたは次のことを試してみてください、DateTimePickerの上のフォーマットを設定する必要が42722,781969687542710,5736342593

+3

'FromOADate'リターン両方の日付と時刻 - 'DateTime.FromOADate(doubleDate).TimeOfDay' – Slai

+0

私はこれを試しましたが、結果を' DateTimePicker'フォームWindowsフォームに代入したいのですが、私がこれを行うとエラーが発生します。暗黙的に、 'System.TimeSpan'を 'System.Windows.Forms.DateTimePicker'に変換できません。 – fafal

+1

エラーを読みます。 'DateTimePicker'はコントロールであり、値ではありません。そのプロパティを見てください。 – SLaks

答えて

1

var d = 42722.7465005671d; // 12/18/2016 5:54:57 PM 
var dateTime = DateTime.FromOADate(d); 
this.dateDateTime.Value = date; 
this.dateDateTime.Format = DateTimePickerFormat.Time; 
+0

コメントアップ。 – fafal

+0

変更された回答、チェックしてください! –