DateTime column in a database (как SQL Server) хранится в виде пары из четырех байтовых числовых значений, где первые 4 байта - это количество дней с определенного базового времени (1900/1/1), а во втором - четыре миллисекунды с полуночи.
Итак, когда вы говорите о format
, это формат отображения вашего значения datetime, и вы получите его так, как он выглядит, потому что есть преобразование из внутреннего формата в строку, понятную нам. Но в базе данных время datetime всегда хранится во внутреннем формате
Итак, чтобы сохранить свой временной интервал, не нужно готовить специальный формат, используйте только текущую дату и прирост на 15 минут в каждом цикле и дайте базе данных хранить его, как он считает целесообразными
List<DateTime> slots = new List<DateTime>();
DateTime dt = new DateTime(2013, 7, 26, 7, 0, 0);
for (int i = 0; i < 61; i++)
{
// Save in a list
slots.Add(dt);
// Calculate next slot
dt = dt.AddMinutes(15);
}
// Save all the slots to the database
SaveSlots(slots);
Для отображения DateTime
DataTable slots = GetSlotsFromDataBase();
foreach(DataRow r in slots.Rows)
Console.WriteLine(Convert.ToDateTime(r[0]).ToString("hh:mm tt");
Не могли бы вы объяснить, лучше, что «формат», как ожидается? И в каком типе данных в базе данных вы пытаетесь сохранить формат? – Steve
Я хожу, как раз в базе данных. он хранится как 13:00:00, но я хочу хранить как 01:00:00 –