我如何形成这个DateTime逻辑来将当前时间增加45分钟?
本文关键字:时间 增加 45分钟 何形成 DateTime | 更新日期: 2023-09-27 18:07:24
我要在运行时填充一个ddl。
我实际需要做的是从系统中获取当前时间(24小时格式)。然后我需要把它四舍五入到15分钟,所以如果时间是13:23
,它将变成13:30
;如果它是13:12
,那么它应该变成13:15
。
然后我想加45分钟,13:15变成14:00。
我正努力像这样实现它
DateTime d = DateTime.Now;
string hr = d.ToString("HH:mm");
string mi = d.ToString("mm");
谁能告诉我,要么我必须写所有的逻辑,要么DateTime可以提供一些功能要这样格式化吗?
我想这应该对你有用:
var d = DateTime.Now;
d = d.AddSeconds(-d.Seconds).AddMilliseconds(-d.Milliseconds)
if (d.Minute < 15) { d.AddMinutes(15 - d.Minute); }
else if (d.Minute < 30) { d = d.AddMinutes(30 - d.Minute); }
else if (d.Minute < 45) { d = d.AddMinutes(45 - d.Minute); }
else if (d.Minute < 60) { d = d.AddMinutes(60 - d.Minute); }
d = d.AddMinutes(45);
DateTime d = DateTime.Now;
//Add your 45 minutes
d = d.AddMinutes(45);
//Add minutes to the next quarter of an hour
d = d.AddMinutes((15 - d.TimeOfDay.Minutes % 15) % 15);
//Show your result
string hr = d.ToString("HH:mm");
string mi = d.ToString("mm");
DateTime
在c#中有一个为当前DateTime
对象添加任何增量的函数。这里是对分钟的特定函数的参考。
DateTime d = DateTime.Now;
DateTime rounded;
if(d.Minute % 15 ==0)rounded = d;
else DateTime rounded = d.AddMinutes(15 - d.Minute % 15);
Console.WriteLine("{0:HH:mm}",rounded);