.net 将时间跨度转换为12小时格式
我用的是C#。我需要在数据库中插入的时间间隔为15分钟(从上午7点到晚上10点)。我使用了以下代码:.net 将时间跨度转换为12小时格式,.net,timespan,.net,Timespan,我用的是C#。我需要在数据库中插入的时间间隔为15分钟(从上午7点到晚上10点)。我使用了以下代码: for (int i = 0; i < 61; i++){ TimeSpan curtime = new TimeSpan(7, y, 00); y=y+15;} for(int i=0;i
for (int i = 0; i < 61; i++){
TimeSpan curtime = new TimeSpan(7, y, 00);
y=y+15;}
for(int i=0;i<61;i++){
TimeSpan curtime=新的TimeSpan(7,y,00);
y=y+15;}
但这会在24小时内返回插槽,即从7:00:00到22:00:00。我怎样才能改变这个 DateTime结构将很有用,因为TimeSpan表示时间间隔而不是一天中的某个时间
否则就试试这个
var time = DateTime.ParseExact("17:00", "HH:mm", null).ToString("hh:mm tt");
你可以用一些东西
Datetime.Now.AddMinutes(15)
重新使用DateTime。现在使用变量A
TimeSpan的持续时间,如果要将输出格式化为12小时格式(与SQL Server一样),则应使用DateTime
(及其方法)存储为一对四字节数值,其中前四个字节是从特定基准时间(1900/1/1)算起的天数,后四个字节是从午夜算起的毫秒数。
因此,当您谈论格式时,这是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);
你能更好地解释一下什么是“格式”吗?您要在数据库中的哪个数据类型中存储格式?我在数据库中按时间排序。它存储为13:00:00,但我想存储为01:00:00
DataTable slots = GetSlotsFromDataBase();
foreach(DataRow r in slots.Rows)
Console.WriteLine(Convert.ToDateTime(r[0]).ToString("hh:mm tt");