Ich erstelle eine Anwendung mit C # -Code.
Wie erhalte ich nur den Datumswert von einem DateTimePicker
Steuerelement?
Antworten:
Ich gehe davon aus, dass Sie eine Datums- / Uhrzeitauswahl in einer Winforms-Anwendung meinen.
In Ihrem Code können Sie Folgendes tun:
string theDate = dateTimePicker1.Value.ToShortDateString();
oder, wenn Sie das Format des Datums angeben möchten:
string theDate = dateTimePicker1.Value.ToString("yyyy-MM-dd");
Ich hatte dieses Problem beim Einfügen von Datumsdaten in eine Datenbank. Sie können die Strukturelemente einfach separat verwenden: In meinem Fall ist dies nützlich, da der SQL-Satz die richtigen Werte haben muss und Sie nur den Schrägstrich oder Bindestrich hinzufügen müssen, um das Format zu vervollständigen , keine Konvertierungen erforderlich.
DateTimePicker dtp = new DateTimePicker();
String sql = "insert into table values(" + dtp.Value.Date.Year + "/" +
dtp.Value.Date.Month + "/" + dtp.Value.Date.Day + ");";
Auf diese Weise erhalten Sie nur die Datumsmitglieder ohne Zeit ...
string shortDate = dateTimePicker1.Value.ToShortDateString();
Sie meinen, wie man ein Datum ohne die Zeitkomponente erhält? Verwenden Sie DateTimePicker.Value.Date. Sie müssen die Ausgabe jedoch nach Ihren Anforderungen formatieren.
Nachdem diese Frage bereits eine gute Antwort erhalten hat, können wir in WinForms auch ein benutzerdefiniertes Format für die DateTimePicker- Format- Eigenschaft festlegen, wie Vivek sagte. Auf diese Weise können wir das Datum / die Uhrzeit in der angegebenen Formatzeichenfolge im DateTimePicker anzeigen . Es wird genauso einfach sein wie wir, Text von einer TextBox zu erhalten .
// Set the Format type and the CustomFormat string.
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "yyyy/MM/dd";
Wir können das Datum jetzt nur noch einfach abrufen, indem wir den Text aus dem DateTimePicker abrufen :
MessageBox.Show("Selected Date: " + dateTimePicker1.Text, "DateTimePicker", MessageBoxButtons.OK, MessageBoxIcon.Information);
HINWEIS: Wenn Sie Datum nur Daten an einen einzufügen planen Datum Spaltentyp in SQL finden Sie in dieser Dokumentation in Bezug auf die unterstützten String Literal Formate für Datum . Sie können kein Datum in die Formatzeichenfolge ydm einfügen, da dies nicht unterstützt wird:
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);
}
Der obige Code endet mit der folgenden Ausnahme:
Sei vorsichtig. Prost.
@Shoban Es sieht so aus, als ob die Frage mit c # markiert ist. Hier ist also die entsprechende 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());
}
Versuche dies
var store = dtpDateTimePicker.Value.Date;
Speicher kann alles Entitätsobjekt usw. sein.