/ / Перетворення року, місяця в DateTime - c #, asp.net

Перетворення року, місяця до DateTime - c #, asp.net

Я намагаюся створити об’єкт DateTime, але, здається, він дає мені помилку.

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

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

Це, здається, не подобається DateTime.Day. Він говорить, що для нестатичного поля потрібна посилання на об'єкт.

Як я міг би отримати параметр сьогоднішнього дня (16-го)? Також мені потрібна дата, щоб мати hh: mm: sss ... як я можу це зробити?

Спасибі за вашу допомогу!

Відповіді:

1 для відповіді № 1

Використовуйте

var day = DateTime.Now.Day;

на сьогоднішній день.

Ви можете додати hh: мм: sss до дата об'єкт в конструкторі також:

DateTime date = new DateTime(year, month, DateTime.Now.Day, 10, 11, 12);
  • 10 => годин
  • 11 => хвилин
  • 12 => секунд

Звичайно, ви можете використовувати DateTime.Now.Hour і т.д. для поточних значень.


Ан ArgumentOutOfRangeException викидається, якщо значення не відповідають дійсній даті, наприклад 30.2.xxxx.


Ви можете надрукувати об'єкт дати в різних форматах, прочитати MS документація для всіх можливостей.


-1 для відповіді № 2

Вона повинна бути:

 int month = 1;
int year = 2017;

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

Візьміть до уваги, ви оголошуєте ціле число без quotation марок:

int month = 1;

Щоб конвертувати його в 24-годинний формат з мілісекундами, як вимагається від коментаря:

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

Протягом 12 годин:

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