Ich habe ein asp Textfeld als wo der Benutzer nur einen Jahreswert füllen wird, Für diesen Wert habe ich Datetime Typ Property in c # -Anwendung und Datumstyp Spalte in DB. Also möchte ich das txtYear.Text zu DateTime konvertieren Aber es wird nur das Jahr halten und / oder anzeigen. Bitte helfen Sie mir in dieser Situation.
Ein DateTime-Objekt enthält immer einen vollständigen DateTime-Wert, Sie können es nicht verwenden, um nur ein Jahr zu speichern. (Was nützt das überhaupt?) Außerdem ist der Datentyp eines "Jahres" int, nicht DateTime.
Ich würde vorschlagen, dass Sie Ihre Eigenschaft sowohl im Code als auch in der Datenbank in den Datentyp int ändern möchten.
Um nur das Jahr anzuzeigen, verwenden Sie das Format "yyyy".
%Vor% Sie müssen das Format des DateTime
-Werts angeben, den Sie bearbeiten:
Um nur einen Teil des Wertes DateTime
anzuzeigen, verwenden Sie Folgendes:
Um einen Wert für String
zu lesen, der ein Jahr in DateTime
darstellt, verwenden Sie Folgendes:
DateTime.ParseExact-Methode (String, String, IFormatProvider) konvertiert die angegebene Zeichenfolgendarstellung von ein Datum und eine Uhrzeit für die DateTime-Entsprechung unter Verwendung des angegebenen Formats und kulturspezifischer Formatinformationen. Das Format der Zeichenfolgendarstellung muss exakt mit dem angegebenen Format übereinstimmen.
DateTime.ToString-Methode konvertiert den Wert des aktuellen DateTime-Objekts in die entsprechende Zeichenfolgendarstellung .
Eine DateTime hat immer eine vollständige Datumskomponente. Wenn Sie die DateTime-Instanz erstellen, müssen Sie einen Monat und einen Tag zuweisen. Sie können sie jedoch in Ihrer Verwendung ignorieren.
%Vor%Noch besser wäre es, keine DateTime zu verwenden, sondern einfach int. Wenn Sie nur ein Jahr haben, brauchen Sie nur einen Int.
Verwenden Sie keine String-Manipulationsfunktion, sondern verwenden Sie die Year-Eigenschaft. Überprüfen Sie die Dokumentation auf der msdn, indem Sie den folgenden Link besuchen.
Ich nehme an, dass der Textfeldname txYear
ist %Vor%speichert diesen dt-Wert in der Datenbank
Wenn du nur das Jahr willst, warum machst du es nicht vom Typ smallint
?
Jedenfalls, wenn Sie wirklich ein Jahr machen wollen,
%Vor% Aber vergewissere dich, dass txtYear.text
tatsächlich ein gültiges Jahr hat.