78

C# コードでアプリケーションを構築しています。コントロール
から日付値のみを取得するにはどうすればよいですか?DateTimePicker

4

9 に答える 9

137

winformsアプリケーションの日時ピッカーを意味していると思います。

コードでは、次のことができます。

string theDate = dateTimePicker1.Value.ToShortDateString();

または、日付の形式を指定する場合:

string theDate = dateTimePicker1.Value.ToString("yyyy-MM-dd");
于 2009-07-16T14:58:32.767 に答える
49
DateTime dt = this.dateTimePicker1.Value.Date;
于 2009-07-16T14:58:16.603 に答える
9

日付データをデータベースに挿入するときにこの問題が発生しました。単に構造体メンバーを個別に使用できます。私の場合、SQL 文には正しい値が必要であり、スラッシュまたはダッシュを追加して形式を完成させるだけでよいので便利です。 、変換は必要ありません。

DateTimePicker dtp = new DateTimePicker();
String sql = "insert into table values(" + dtp.Value.Date.Year + "/" + 
dtp.Value.Date.Month + "/" + dtp.Value.Date.Day + ");";

そうすれば、時間のない日付メンバーだけを取得できます...

于 2012-11-24T02:07:59.290 に答える
3
string shortDate = dateTimePicker1.Value.ToShortDateString();
于 2009-07-16T14:59:06.757 に答える
2

この質問にはすでに適切な回答が与えられているため、WinForms では、 Vivek が言ったように、カスタム フォーマットDateTimePicker Formatプロパティに設定することもできます。これにより、 DateTimePicker内の指定されたフォーマット文字列で日付/時刻を表示できます。TextBoxからテキストを取得するのと同じように簡単です。

// Set the Format type and the CustomFormat string.
dateTimePicker1.Format = DateTimePickerFormat.Custom;    
dateTimePicker1.CustomFormat = "yyyy/MM/dd";

dateTimePicker1

DateTimePickerから Text を取得することで、 Date を簡単に取得できるようになりました。

MessageBox.Show("Selected Date: " + dateTimePicker1.Text, "DateTimePicker", MessageBoxButtons.OK, MessageBoxIcon.Information);

ここに画像の説明を入力

注: SQL の日付列タイプに日付のみのデータを挿入する場合は、サポートされている日付の文字列リテラル形式に関連するこのドキュメントを参照してください。サポートされていないため、書式文字列ydmに日付を挿入することはできません。

dateTimePicker1.CustomFormat = "yyyy/dd/MM";  
var qr = "INSERT INTO tbl VALUES (@dtp)";
using (var insertCommand = new SqlCommand..
{
   try
   {
     insertCommand.Parameters.AddWithValue("@dtp", dateTimePicker1.Text);
     con.Open();
     insertCommand.ExecuteScalar();
   }
   catch (Exception ex)
   {
      MessageBox.Show("Exception message: " + ex.Message, "DateTimePicker", MessageBoxButtons.OK, MessageBoxIcon.Error);
   }

上記のコードは、次の例外で終了します。 ここに画像の説明を入力

注意してください。乾杯。

于 2014-01-20T08:09:10.403 に答える
1

時間コンポーネントなしで日付を取得する方法を意味しますか? DateTimePicker.Value.Dateを使用 しますが、必要に応じて出力をフォーマットする必要があります。

于 2009-07-16T15:00:54.243 に答える
0

@Shoban質問にはc#のタグが付いているようですので、ここに適切な切り取り http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.value.aspxを示します。

public MyClass()
{
    // Create a new DateTimePicker
    DateTimePicker dateTimePicker1 = new DateTimePicker();
    Controls.Add(dateTimePicker1);
    MessageBox.Show(dateTimePicker1.Value.ToString());

    dateTimePicker1.Value = DateTime.Now.AddDays(1);
    MessageBox.Show(dateTimePicker1.Value.ToString());
 } 
于 2009-07-16T15:04:05.453 に答える
0

これを試して

var store = dtpDateTimePicker.Value.Date;

store はエンティティオブジェクトなど何でもかまいません。

于 2015-03-17T07:49:55.493 に答える
-1
Datum = DateTime.Parse(DateTimePicker1.Value.ToString("dd/MM/yyyy"))
于 2015-04-10T16:04:29.527 に答える