Хранение короткой даты в объекте DateTime

Я запустил бы здесь . Это показывает, как запустить и остановить сервисы в C#

, образец А для запуска,

public static void StartService(string serviceName, int timeoutMilliseconds)
{
  ServiceController service = new ServiceController(serviceName);
  try
  {
    TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

    service.Start();
    service.WaitForStatus(ServiceControllerStatus.Running, timeout);
  }
  catch
  {
    // ...
  }
}

, я также протестировал сервисы главным образом через консольное приложение, моделировав то, что сделал бы сервис. Тем путем мой модульный тест полностью автоматизирован.

9
задан John Saunders 19 April 2010 в 20:16
поделиться

9 ответов

DateTime - это целое число, интерпретируемое для представления обеих частей DateTime (например, даты и времени). У вас всегда будут дата и время в DateTime . Извините, вы ничего не можете с этим поделать.

Вы можете использовать .Date, чтобы получить часть даты. В этих случаях время всегда будет 12:00, но вы можете просто игнорировать эту часть, если она вам не нужна.

17
ответ дан 4 December 2019 в 07:47
поделиться

DateTime всегда будет иметь компонент времени, даже если это 12:00:00 AM. Вам просто нужно отформатировать DateTime при его отображении (например, goodDateHolder.ToShortDateString ()).

3
ответ дан 4 December 2019 в 07:47
поделиться

В этой ситуации у вас есть только два варианта.

1) Игнорировать временную часть значения.

2) Создать класс-оболочку.

Лично я склонен использовать вариант 1.

3
ответ дан 4 December 2019 в 07:47
поделиться

Instead of .Now you can use .Today which will not remove the time part, but will only fill the date part and leave time to the default value.

Later on, as others pointed out, you should try to get the date part ignoring the time part, depending on the situation.

3
ответ дан 4 December 2019 в 07:47
поделиться

You'll always get the time portion in a DateTime type.

DateTime goodDateHolder = Convert.ToDateTime(DateTime.Now.ToShortDateString());

will give you today's date but will always show the time to be midnight.

If you're worried about formatting then you would try something like this

goodDateHolder.ToString("mm/dd/yyyy")

to get the date in the format that you want.

This is a good resource msdn-dateformat

1
ответ дан 4 December 2019 в 07:47
поделиться

. невозможно получить его как объект DateTime ... но когда вы хотите отобразить его, вы можете отформатировать его так, как хотите, выполнив что-то вроде.

myDateTime.ToString ("M / d / yyyy"), который дает для вашего примера 19.10.2009.

0
ответ дан 4 December 2019 в 07:47
поделиться

Объект DateTime хранит как дату, так и время. Чтобы отобразить только дату, вы должны использовать метод DateTime.ToString (string).

DateTime goodDateHolder = DateTime.Now;
// outputs 10/19/2009
Console.WriteLine(goodDateHolder.ToString("MM/dd/yyyy"));

Для получения дополнительной информации о методе ToString перейдите по этой ссылке

0
ответ дан 4 December 2019 в 07:47
поделиться

DateTime - это просто UInt64 с обернутым вокруг него полезным и умным форматированием, чтобы он выглядел как дата плюс время. Вы не можете удалить элемент времени.

0
ответ дан 4 December 2019 в 07:47
поделиться

Вы также можете проверить Noda Time на основе Java Joda Time библиотека.

1
ответ дан 4 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: