Как получить текущий квартал от текущей даты с помощью C#
Я пытаюсь получить текущий квартал от текущей даты и сохранить его как int сначала, а затем после того, как я получу текущий квартал, например, Q1, я хочу сохранить Q1 как строку. Я получаю ошибку, которая читается так: неназначенная локальная переменная dt. . Пожалуйста помочь. спасибо
DateTime dt;
int quarterNumber = (dt.Month - 1) / 3 + 1;
4 ответов
Ну, вы не указываете "текущую дату" в любом месте - вы не присвоили значение вашему dt
переменная, на что жалуется компилятор. Вы можете использовать:
DateTime dt = DateTime.Today;
обратите внимание, что это будет использовать системный локальный часовой пояс - и дата зависит от часового пояса. Если вы хотите дату текущего момента в UTC, например, вы хотели бы:
DateTime dt = DateTime.UtcNow.Date;
подумайте очень внимательно о том, что вы подразумеваете под "сегодня".
кроме того, немного более простой альтернативной версией вашего расчета будет:
int quarter = (month + 2) / 3;
Это было хорошее начало, я закончил использовать эту строку. Казалось бы, более прямолинейным в отношении цели, вместо добавления 2.
Math.Ceiling(DateTime.Today.Month / 3m)
DT в настоящее время присвоен null. Вам нужно инициализировать его с помощью DateTime dt = DateTime.Now;