Datum ohne Uhrzeit

Radhad

Erfahrenes Mitglied
Halo zusammen,

ich habe mal eine Anfänger-Frage... In einem DataGrid wird in einer Spalte Datum + Uhrzeit ausgegeben. Wie kann ich die Anzeige so gestalten, dass die Uhrzeit wegfällt? Für MS SQL kenne ich den Befehl nicht (Oracle sei dank :) ). Mich würden die Funktionen für ASP.NET und MS SQL interessieren. Programmiert ist das in VB.NET. Also wenn möglich in VB.NET, C# ist aber auch kein Problem für mich. Ich hoffe ihr versteht worauf ich hinaus will :rolleyes:


MfG Radhad
 
Willst du jetzt einen Wert der so in der Datenbank steht modifizieren oder in ASP.NET nur den Tag ermitteln? Im letzterem Fall hilft dir Date.Now.today als Ermittlung des Tages.

Wenn der Wert so aus der DB kommt gibt es entweder die Möglichkeit den mittels convert zu einem Datumswert zu formatieren und dann auf den Tageswert zu bringen oder einfach den Wert als String auszulesen und eine bestimmte Anzahl Zeichen von links aus auszulesen ;) - was schneller ist als mit einem Datum zu arbeiten wie ich festgestellt habe. :)
 
Die Daten stehen schon als Datum in der DB, und sehen so aus: 12.04.2004 00:00:00. Und ich möchte halt, dass dann nur 12.04.2004 ausgegeben wird, da für Startzeit und Endzeit jeweils eigene Spalten mit der Uhrzeit vorhanden sind.
 
Dann mach es doch ganz einfach:

dim strDatum as string = left(Datumswert, 10) und du hast den Wert als String und kannst dann alles weitere damit machen. Schnell und flexibel.

Datumswert ist dabei natürlich dein Wert den du aus der Datenbank ausgelesen hast (liegt ja wahrscheinlich in einer Variablen, hier kannst du natürlich auch andere Sachen wie z.B. einen Datareader einsetzen) und 10 die Anzahl der Zeichen die von links aus ausgelesen werden.
 
Nehm doch einfah eines der Datumformatierungen:

Datumswert.ToString("d");
Das ergibt ein kurzes Datum ohne Uhrzeit.

Das selbe müsste ergeben:
Datumswert.ToString("dd.mm.yyyy");
 
Funktioniert das nicht nur wenn der Wert direkt als Datum ausgelesen und formatiert wurde? Frage ich rein interessehalber. :)
 
Wo setze ich das ein bei dem DataGrid?

Wenn ich das beim Filtern einsetze ergibt das einen Fehler, dass er das ganze nicht umwandeln kann. Um die Werte, um die es sich handelt, stehen im Datumsformat in der DB, MS-SQL Server 2000...

Also, Datum zum Filtern läuft jetzt mit Datum.ToString("dd.mm.yyyy").
Aber wie kann ich bei MS-SQL das Datum dementsprechend anpassen? Ich poste das auch nochmal im SQL Forum, vielleicht weiß es da eher einer.
 
Zuletzt bearbeitet:
Du kannst das am besten beim dg_itemcreated.

Ich poste hier mal ein Beispiel für ein Button - Voraussetzung ist dafür dass du aber auch im Code den Wert DataKeyField mit den entsprechenden Werten aus der Datenbank gefüllt hast.

Private Sub dgSuchergebnis_ItemCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles dgSuchergebnis.ItemCreated

Select Case e.Item.ItemType

Case ListItemType.Item
Dim btnDetail1 As Button
Dim btnKaufen1 As Button
btnDetail1 = e.Item.FindControl("btnDetails")
btnKaufen1 = e.Item.FindControl("btnKaufen")
Dim intID As Integer = CInt(dgSuchergebnis.DataKeys(e.Item.ItemIndex))
btnDetail1.Attributes.Add("onClick", "window.open('det.aspx?id=" & intID.ToString & "&sub=" & lithidden.Text & "', 'detail', 'width=800, height=600');")
btnKaufen1.Attributes.Add("onClick", "window.open('tspkaufen.aspx?id=" & intID.ToString & "', 'spkaufen', 'width=300, height=300');")

Case ListItemType.AlternatingItem
Dim btnDetail1 As Button
Dim btnKaufen1 As Button
btnDetail1 = e.Item.FindControl("btnDetails")
btnKaufen1 = e.Item.FindControl("btnKaufen")
Dim intID As Integer = CInt(dgSuchergebnis.DataKeys(e.Item.ItemIndex))
btnDetail1.Attributes.Add("onClick", "window.open('det.aspx?id=" & intID.ToString & "&sub=" & lithidden.Text & "', 'detail', 'width=800, height=600');")
btnKaufen1.Attributes.Add("onClick", "window.open('kaufen.aspx?id=" & intID.ToString & "', 'spkaufen', 'width=300, height=300');")
End Select

In diesem Fall habe ich Buttons genommen und mit einer onClick-Funktion erweitert in DataGrid. Kannst du aber auch mit beliebigen anderen Controls und anderen Funktionen nehmen. Und hier könnte dann auch die Umwandlung stehen und dürfte in keinem Fall zu einem Fehler führen. (Bin jetzt zu faul das umzuschreiben - sorry ;))
 
Das umzuschreiben wäre nicht das Thema, problematischer ist, dass ich in ASP.NET ein Anfänger bin, habe zwar genug entwickler um mich herum, die das gut können, aber die sind im Moment schwer beschäftigt. DataKeyField wird nicht benutzt. Sonder nur eine SQL Abfrage, welche dann ins DataGrid geschrieben wird.
 

Neue Beiträge

Zurück