/ / Konwersja roku, miesiąca na DateTime - c #, asp.net

Konwertowanie roku, miesiąca na dateTime - c #, asp.net

Próbuję utworzyć obiekt DateTime, ale wydaje mi się, że powoduje błąd.

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

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

Wydaje się, że nie lubi DateTime.Day. Mówi, że odwołanie do obiektu jest wymagane dla pola niestatycznego.

Jak mogę otrzymać dzisiejszy dzień (16) jako parametr? Potrzebuję też daty, aby mieć hh: mm: sss ... jak mogę to zrobić?

Dzięki za pomoc!

Odpowiedzi:

1 dla odpowiedzi № 1

Posługiwać się

var day = DateTime.Now.Day;

na dzisiaj.

Możesz dodać hh: mm: sss do data obiekt również w konstruktorze:

DateTime date = new DateTime(year, month, DateTime.Now.Day, 10, 11, 12);
  • 10 => godziny
  • 11 => minuty
  • 12 => sekundy

Oczywiście możesz użyć DateTime.Now.Hour itd. Dla bieżących wartości.


Na ArgumentOutOfRangeException jest wyrzucane, jeśli wartości nie są ważne dla prawdziwej daty, np. 30.2.xxxx.


Możesz wydrukować obiekt daty w różnych formatach, przeczytaj Dokumentacja MS dla wszystkich możliwości.


-1 dla odpowiedzi № 2

Powinno być:

 int month = 1;
int year = 2017;

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

Zwróć uwagę, deklarujesz liczbę całkowitą bez quotation znaki:

int month = 1;

Aby przekonwertować go na format 24-godzinny z milisekundami zgodnie z żądaniem komentarza:

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

Przez 12 godzin:

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