wie kann ich nur Jahr sagen 2011 in einer Datetime-Variable in c #

7

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.

    
Pankouri 04.07.2011, 11:44
quelle

7 Antworten

7

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.

    
Nico Beemster 04.07.2011, 11:48
quelle
5

Um nur das Jahr anzuzeigen, verwenden Sie das Format "yyyy".

%Vor%     
Petar Ivanov 04.07.2011 11:46
quelle
4

Sie müssen das Format des DateTime -Werts angeben, den Sie bearbeiten:

%Vor%

Um nur einen Teil des Wertes DateTime anzuzeigen, verwenden Sie Folgendes:

%Vor%

Um einen Wert für String zu lesen, der ein Jahr in DateTime darstellt, verwenden Sie Folgendes:

%Vor%

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 .

    
Akram Shahda 04.07.2011 11:47
quelle
2

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.

    
Samuel Neff 04.07.2011 11:51
quelle
1

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.

DateTime.Year-Eigenschaft

    
Pranay Rana 04.07.2011 11:48
quelle
1

Ich nehme an, dass der Textfeldname txYear

ist %Vor%

speichert diesen dt-Wert in der Datenbank

    
DeveloperX 04.07.2011 11:50
quelle
0

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.

    
Ranhiru Cooray 04.07.2011 11:48
quelle

Tags und Links