2017-08-17 8 views
-2

Ich versuche, ein DateTime-Objekt zu erstellen, aber es scheint mir einen Fehler zu geben.Konvertieren von Jahr, Monat zu DateTime

int month = "1" 
int year = "2017" 

DateTime date = new DateTime(year, month, DateTime.Day); 

Es scheint DateTime.Day nicht zu mögen. Es besagt, dass für das nicht statische Feld eine Objektreferenz benötigt wird.

Wie könnte ich den heutigen Tag (16.) als Parameter bekommen? Außerdem brauche ich das Datum um hh zu haben: mm: sss ... wie könnte ich das machen?

Danke für Ihre Hilfe!

+0

ist dies nur Jahr und Monat? –

+0

Ich habe nur die Werte für Jahr und Monat, aber ich möchte, dass der Tag der heutige Tag ist. Gibt es eine Möglichkeit, es durch DateTime zu bekommen? Ich versuche dieses Datum in die Datenbank einzufügen, also versuche ich den heutigen Tag und die Zeit zu bekommen. – vanillacoke9191

+0

Nimm datetime.now.day in eine andere Variable und gib sie weiter. – Amit

Antwort

-1

es sein sollte:

int month = 1; 
int year = 2017; 

DateTime date = new DateTime(year, month, DateTime.Now.Day); 

Beachten Sie erklären integer ohne quotation Noten:

int month = 1; 

es mit Millisekunden am 24-Stunden-Format zu konvertieren, wie auf Kommentar angefordert:

string strResult = string.Format("{0:MM/dd/yyyy HH:mm:ss.fff}", date); 
//Results: 02/17/2017 00:00:00.000 

Für 12 Stunden:

string strResult = string.Format("{0:MM/dd/yyyy hh:mm:ss.fff}", date); 
//Results: 02/17/2017 12:00:00.000 
+0

Das Format wird am 16.01.2017, 12:00:00 Uhr ausgegeben, wenn ich es drucke. Wie könnte ich das Format 2017/01/16 12: 00: 00: 000 machen, wenn ich die Datetime ausdrucke? – vanillacoke9191

+0

Was passiert, wenn 'month == 2' und' DateTime.Now.Day == 30'? – Enigmativity

+0

@ vanillancoke9191 Ich habe meinen Code basierend auf Ihrer Anfrage aktualisiert. –

1

Verwenden

var day = DateTime.Now.Day; 

für heute.

Sie können hh hinzufügen: mm: sss zum Datum Objekt im Konstruktor zu:

DateTime date = new DateTime(year, month, DateTime.Now.Day, 10, 11, 12); 
  • 10 => Stunden
  • 11 => Minuten
  • 12 = > Sekunden

Natürlich können Sie DateTime.N verwenden ow.Hour etc. für die aktuellen Werte.


Ein ArgumentOutOfRangeException ausgelöst wird, wenn die Werte für ein echtes Datum nicht gültig sind, z.B. 30.2.xxxx.


Sie können in verschiedenen Formaten das Datum Objekt drucken, das MS Documentation für alle Möglichkeiten lesen.

+0

Was bedeutet 10, 11, 12? Danke! – vanillacoke9191

+0

10 => Stunden; 11 => Minute; 12 => Sekunden. Natürlich können Sie DateTime.Now.Hour usw. für die aktuellen Werte verwenden – Eisfuchs

+0

Was passiert, wenn 'month == 2' und' DateTime.Now.Day == 30'? – Enigmativity

Verwandte Themen