Вставьте время без даты в мою базу данных - PullRequest
0 голосов
/ 06 апреля 2019

Я пытался вставить в свою базу данных MS Access определенный формат, чтобы увидеть, как ведет себя «время» в моей базе данных, но когда я попытался показать, что у меня тоже есть дата, но я хочу вставить только время.

Я пытался преобразовать переменную datetime в определенный формат и вставить это

DateTime starttime = Convert.ToDateTime(DateTime.Now.ToShortTimeString());
DateTime nstarttime = Convert.ToDateTime(starttime.ToString("HH:mm"));

06/04/2019 22:55:00 это то, что я получил, и я хочу только время без даты

Ответы [ 2 ]

1 голос
/ 07 апреля 2019

Ваша главная проблема заключается в том, что в .Net временной частью DateTime является не DateTime , а TimeSpan :

DateTime dateTime = new DateTime(2019, 6, 4, 22, 55, 0);
TimeSpan timePart = dateTime.TimeOfDay;

В Access (VBA), однако, значение «только время» - это время даты VBA Дата эпохи , которая равна 1899-12-30.В зависимости от того, как вы вставляете время в таблицу Access, вам может потребоваться применить временную часть к эпохе, чтобы получить значение, подобное тому, которое Access использует:

DateTime dateTime = new DateTime(2019, 6, 4, 22, 55, 0);
TimeSpan timePart = dateTime.TimeOfDay;    
DateTime vbaEpoch = new DateTime(1899, 12, 30);
DateTime vbaTime = vbaEpoch.AddTicks(timePart.Ticks);

Конечно, при чтении значений обратно, игнорируйте часть даты:

TimeSpan timeOfDay = vbaTime.TimeOfDay;    
0 голосов
/ 06 апреля 2019

На этот вопрос отвечали так много раз, но, тем не менее, вот ссылка на одно из обсуждений Ссылка 1:

Пожалуйста, проверьте также это Ссылка 2 смогут быть полезны шаблоны

Эта деталь является одним из реальных примеров, приведенных в ссылке 1:

DateTime dt = DateTime.Parse("6/22/2009 07:00:00 AM");
dt.ToString("HH:mm"); // 07:00 // 24 hour clock // hour is always 2 digits
dt.ToString("hh:mm tt"); // 07:00 AM // 12 hour clock // hour is always 2 digits
dt.ToString("H:mm"); // 7:00 // 24 hour clock
dt.ToString("h:mm tt"); // 7:00 AM // 12 hour clock

Надеюсь, это поможет!Ура и счастливого кодирования!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...